J.P. Grossman

1 Cedar Drive

Huntington, NY, 11743

(303) 746-1996

Summary

Expert programmer with excellent problem solving skills, a solid theoretical/mathematical background, and experience with both hardware and software design.

Academic History

DalhousieUniversity

2003Post Doctoral Fellow, Department of Mathematics and Statistics

Supervisor: Richard Nowakowski

Massachusetts Institute of Technology

2002Ph.D., Department of Electrical Engineering and Computer Science

Dissertation: “Design and Evaluation of the Hamal Parallel Computer”

Supervisor: Tom Knight

1998M.S., Department of Electrical Engineering and Computer Science

Thesis Title: “Point Sample Rendering”

Supervisor: Bill Dally

University of Toronto

1996Hon. B.Sc. (Math Specialist, Computer Science Major)

Awards

2003Research Associateship Program Postdoctoral Fellowship (declined)

1999Natural Sciences and Engineering Research Council of CanadaPGS-B Award

1998Masterworks Oral Presentation Award (best oral presentation of Master’s Thesis), M.I.T.

1996Gordon Cressy Student Leadership Award

Chancellor’s Medal for Highest Standing in a Science Program

Natural Sciences and Engineering Research Council of CanadaPGS-A Award

Wright-Pigott-Lloyd-Neale Graduate Award

1995Putnam Fellow (top 5 in North American Putnam Mathematics Competition)

George Gray Falle Scholarship for highest third year average, University of Toronto

University of Toronto Arts and Science Faculty Scholar

1994Putnam Fellow (top 5 in North American Putnam Mathematics Competition)

Trinity College Scholarship for academic achievement, University of Toronto

University of Toronto Arts and Science Faculty Scholar

1993Putnam Fellow (top 6 in North American Putnam Mathematics Competition)

Trinity College Scholarship for academic achievement, University of Toronto

University of Toronto Arts and Science Faculty Scholar

Employment Summary

2005-pres.Researcher –D. E. Shaw Research

Worked on a research project to design and build a large (4096 nodes) parallel computer to perform fast molecular dynamics simulations. Responsible for all aspects of the design, development and maintenance of an architectural simulator. Developed a software layer which allows simulator components to be used as reference models in hardware testbenches. Designed and implemented an internal tool chain for managing the machine memory map. Designed and evaluated various hardware components. Provided assistance with the evaluation, acquisition and integration of several third-party tools. Investigated continuous and discrete properties of the equations of motion used for molecular dynamics simulations.

2003-05Software Architect –Configuresoft, Inc.

Designed and implemented a mechanism to collect large amounts of data from thousands of windows and UNIX computers on a network in a flexible and scalable manner. Developed a Python-based testing infrastructure which was used to unit test software components. Responsible for the design and project management of a cross-platform installation system used to install, manage and uninstall dynamic libraries.

2003Post Doctoral FellowDept. of Mathematics and Statistics, DalhousieUniversity

Research in networked information spaces and combinatorial game theory.

2003Web Design –Independent contract work

Custom web design and CGI scripting for local academic and professional organizations.

1996-2002Research AssistantDept. of EECS, Massachusetts Institute of Technology

Research in streaming processor design, computer graphics, microprocessor design, simulation methodology, parallel architectures and network messaging protocols.

1996Research AssistantDept. of Computer Science, University of Toronto

Designed and implemented a multithreaded operating system to be used in teaching a fourth year Operating Systems course at U. of T.

1995Research AssistantDept. of Electrical and Computer Engineering, University of Toronto

Worked on the automatic generation of benchmark circuits to be used for testing FPGAs. The results of the research were presented at the 33rd Design Automation Conference.

1994Summer Intern–Excel Group, Microsoft

Created a utility that would find changes made to one Excel source tree and automatically make the corresponding changes in another source tree.

1993Natural Sciences and Engineering Research Council of CanadaSummer Research PositionDept. of Mathematics, University of Toronto

Research in Measure Theory and Metric Topology.

Skills

Programming –Expert programmer with 28 years of experience in C/C++ (including STL, DCOM, Multithreading, MPI, MFC, Win32, X, OpenGL, and Open Inventor), C#, Perl, Python, Javascript,HTML, XML, Awk, Java, Assembly, LISP, BASIC, Visual Basic, Prolog and Turing.

CAD–Experience with Verilog, VHDL, HSPICE, VCS, DVE, Xilinx tools, Magic and Led

Database Tools–SQL Server, Enterprise Manager, Query Analyzer, Profiler, TSQL

Development Tools –Microsoft Visual Studio (including custom AppWizards and add-ins), makefiles, gcc, gdb, Perforce, CVS, PVCS.

Operating Systems –Windows (all version), Solaris, Linux.

Network Protocols– TCP/IP, UDP, Sockets, SNMP, WBEM, LDAP, Active Directory.

Supervision Experience

2002Undergraduate Research Opportunities Program, Massachusetts Institute of Technology

I supervised and directed the research of Levente Jakab, a 3rd year undergraduate student, on an application-independent hash function that can be implemented in hardware. I provided guidance for writing a paper on the results which has been submitted to the IEEE Symposium on Computer Arithmetic.

2001-2Masters of Engineering Program, Massachusetts Institute of Technology

I acted as co-supervisor for and assisted Michael Phillips, an M.Eng student, with the technical details of the Hamal architecture which he implemented using reconfigurable hardware.

1997Research Science Institute Summer Program

I supervised and assisted an international high school student in performing Computer Graphics research and preparing a paper on his results.

Research Summary

2005-pres.Parallel Architecture for Molecular Dynamics –D. E. Shaw Research

Molecular dynamics simulations are one of the most computationally-intensive applications in existence and well beyond the capacity of conventional computers. An experimentally useful simulation requires on the order of 1012 discrete timesteps, each of which involves the pairwise interaction of tens of thousands of particles. The goal of this project was the design and implementation of a special-purpose parallel machine capable of accelerating molecular dynamics simulations. My research contributions have been in the areas of hardware-software codesign, network deadlock analysis, thermodynamic ensemble recovery, and numerical integration. I designed and implemented a cycle-based simulation infrastructure which performs aggressive pre-processing to optimize hardware simulations, supports all aspects of embedded software test and design, and is fully interopable with RTL components created in Verilog. I proposed a novel virtual channel routing algorithm to reduce the number of virtual channels required in a three dimensional torus network with arbitrary dimension ordering of packets, and investigated lower bounds for the number of virtual channels required in torus networks with various routing restrictions. I developed a theoretical formulation for phase space compressibility in the presence of conserved quantities and applied this theory to correct an error in isobaric equations of motion that appear in the literature. I have investigated numerical integration schemes for the discretization of these equations which are optimized for our parallel architecture.

2003Networked Information Spaces–Collaboration with Jeannette Janssen (Dept. of Mathematics and Statistics) and Evangelos Milios (Faculty of Computer Science), DalhousieUniversity

The study of networked information spaces has recently grown in importance due to the availability of citation databases and the increasing prevalence of the internet as a source of information. I pursued two avenues of research. First, a measure of node similarity was developed which is derived solely from link structure. The measure is recursively defined based on the observation that nodes are likely to be similar if their neighbours are similar. Second, a directed random-crawl heuristic wass developed which minimizes the expected number of hops before a given target topic is encountered.

2000-3Combinatorial Game Theory–Collaboration with Richard Nowakowski, Department of Mathematics and Statistics, DalhousieUniversity

Combinatorial game theory is the study of games in which there are no elements of chance and all participants have perfect information. I researched a number of games including Dots and Boxes, Philosopher’s Phutball and Pegs. I developed computer opponents and game value toolkits. I invented a game (clobber) used to investigate “all small” games (games where both players have a legal move in all non-terminal positions).

1998-2002Scalable Parallel Architectures–Dissertation research, Massachusetts Institute of Technology

I investigated design principles for massively scalable shared-memory machines. Three challenges in particular were addressed: the need for a scalable memory system, a fault-tolerant messaging protocol, and support for fine-grained parallelism. The complete system design was presented for Hamal, a shared-memory architecture which addresses these concerns and is scalable to one million nodes. Virtual memory and distributed objects are implemented in a manner that requires neither inter-node synchronization nor the storage of globally coherent translations at each node. A lightweight fault-tolerant messaging protocol guarantees message delivery and idempotence across a discarding network. A number of hardware mechanisms provide efficient support for massive multithreading and fine-grained synchronization.

Experiments were conducted in simulation, using a trace-driven network simulator to investigate the messaging protocol and a cycle-accurate simulator to evaluate the Hamal architecture. The simulations demonstrated the effectiveness of Hamal’s thread management and synchronization primitives.

Additional research investigated software techniques for efficient and reliable cycle-based simulation. A C++ simulation framework was developed and used to construct the Hamal simulator.

2002Application-Independent Hash Functions–Independent work, Massachusetts Institute of Technology

The ubiquitous use of hashing provides motivation for hardware implementation in novel processor architectures. The difficulty lies in providing a single hash function which provides good collision minimization across a wide range of applications. In particular, applications will vary in their use of output bits, and a hash function may lose its collision avoidance properties when the upper output bits are discarded.

Error correcting codes were used to develop a linear hash function that maintains good collision avoidance properties independent of the number of output bits that are used. I provided supervision for an undergraduate student who implemented and evaluated this hash function.

1996-8Point Sample Rendering–Master’s thesis, Massachusetts Institute of Technology

The goal of rendering complex objects in real time has given rise to an interest in image-based rendering. Many successful approaches to image-based rendering have been developed, but they suffer in varying degrees from a large appetite for memory, noticeable artifacts from many viewing directions, and an inability to support dynamic lighting. Point Sample Rendering is an algorithm which overcomes these shortcomings without sacrificing the speed of image-based rendering. Objects are modeled as a dense set of surface point samples stored with colour, depth and normal information, enabling Z-buffer composition, Phong shading with specular highlights, and other effects such as shadows.

A software system was developed to convert polygonal models to point sample models, then animate these models in real time with dynamic lighting and shadows. The problem of “holes” was addressed and a number of techniques were developed to optimize the rendering process.

1996Streaming Processor Design–Collaboration with Chris Buehler, Scott Rixner and Bill Dally, Dept. of Electrical Engineering and Computer Science, Massachusetts Institute of Technology

I assisted in the microarchitecture design for the Imagine streaming processor. I developed micropipeline primitives to support conditional vector operations.

1995Parameterized Random Generation of Benchmark Circuits–Collaboration with Michael Hutton and Jonathan Rose, Department of Electrical and Computer Engineering, University of Toronto

Benchmark circuits are required to evaluate novel FPGA architectures. However, most large circuits are proprietary and therefore unavailable to FPGA developers. The goal of this research was to be able to automatically generate large random circuits with characteristics similar to those of real existing circuits, enabling the creation of families of benchmark circuits.

A symbolic specification language was created for the purpose of describing circuit characteristics. Algorithms were developed for generating random families of combinational circuits given a target set of characteristics.

Refereed Publications

2007David E. Shaw, Martin M. Deneroff, Ron O. Dror, Jeffrey S. Kuskin, Richard H. Larson, John K. Salmon, Cliff Young, Brannon Batson, Kevin J. Bowers, Jack C. Chao, Michael P. Eastwood, Joseph Gagliardo, J.P. Grossman, C. Richard Ho, Douglas J. Ierardi, Istvan Kolossvary, John L. Klepeis, Timothy Layman, Christine McLeavey, Mark A. Moraes, Rolf Mueller, Edward C. Priest, Yibing Shan, Jochen Spengler, Michael Theobald, Brian Towles, Stanley C. Wang, “Anton, a Special-Purpose Machine for Molecular Dynamics Simulation”, Proc. ISCA 2007, San Diego, CA, June 9-13, 2007.

2005J.P. Grossman, “An Eigenvalue Bound for the Laplacian of a Graph”, Discrete Mathematics, Vol. 300/1-3, June 2005, pp. 225-228.

2004J.P. Grossman, Levente Jakab, “Using the BCH Construction to Generate Robust Linear Hash Functions”, Proc. 2004 IEEE Information Theory Workshop, San Antonio, Texas, October, 2004.

J.P. Grossman, “Analytically Modelling a Fault-Tolerant Messaging Protocol”, IEEE Transactions on Computers, Vol. 53, No. 7, July 2004, pp. 870-878.

J.P. Grossman, “Report on the First International Clobber Tournament”, Theoretical Computer Science special edition: Algorithmic Combinatorial Game Theory, Vol. 313, Issue 3, Feb. 19 2004, pp. 533-537.

J.P. Grossman, “Periodicity in One Dimensional Peg Duotaire”, Theoretical Computer Science special edition: Algorithmic Combinatorial Game Theory, Vol. 313, Issue 3, Feb. 19 2004, pp. 417-425.

2003J.P. Grossman, “Recursive Node Similarity in Networked Information Spaces”, Proc. Innovative Internet Community Systems, Leipzig, Germany, June 19-21, 2003.

2002Jeremy Brown, J.P. Grossman, Tom Knight, “A Lightweight Idempotent Messaging Protocol for Faulty Networks”, Proc. Fourteenth ACM Symposium on Parallel Algorithms and Architectures, Winnipeg, Manitoba, August 11-13, 2002.

J.P. Grossman, Richard Nowakowski, “One Dimensional Phutball”, More Games of No Chance, CambridgeUniversity Press, 2002, pp. 361-367.

2000J.P. Grossman, “Cheap Out-of-Order Execution using Delayed Issue”, Proc. 2000 IEEE International Conference on Computer Design, Austin, Texas, 17-20 September 2000, pp. 549-551.

1998J.P. Grossman, William J. Dally, “Point Sample Rendering”, Rendering Techniques ’98 (Proc. 9thEurographics Workshop on Rendering), 1998, pp. 181-192

Michael Hutton, Jonathan Rose, J.P. Grossman, Derek G. Corneil, “Characterization and Parameterized Generation of Synthetic Combinational Benchmark Circuits”, IEEE Transactions on Computer-Aided Design of Integrated Circuits & Systems, vol.17, no.10, Oct. 1998, pp.985-96.

1996Michael Hutton, J.P. Grossman, Jonathan Rose, Derek Corneil, “Characterization and Parameterized Random Generation of Digital Circuits”, 33rd Design Automation Conference, 1996.

1992Andreas Mandelis, J.P. Grossman, “Perturbation Theoretical Approach to the Generalized Kubelka-Munk Problem in Nonhomogeneous Optical Media”, Applied Spectroscopy, Vol. 46, Number 5, 1992, pp. 737745.

Manuscripts Under Review

2006Michael Albert, Elwyn Berlekamp, William Fraser, J.P. Grossman, Richard Guy, Matt Herron, Lionel Levine, Richard Nowakowski, Paul Ottaway, Aaron Siegel, Angela Siegel, David Wolfe, “Partizan Splittles”, submitted to R. J. Nowakowski, Ed., Games of No Chance 3.

2006J.P. Grossman, Aaron Seigel, “Reductions of Partizan Games”, submitted to R. J. Nowakowski, Ed., Games of No Chance 3.

Technical Reports

2002J.P. Grossman, “Design and Evaluation of the Hamal Parallel Computer”, Ph.D. Thesis, Dept. of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, December 2002, 152 pp.

J.P. Grossman, Jeremy Brown, Andrew Huang, Tom Knight, “Using Squids to Address Forwarding Pointer Aliasing”, Project Aries Technical Memo ARIES-TM-04, AI Lab, M.I.T., Cambridge, MA, August 16, 2002.

J.P. Grossman, “A Systolic Array for Implementing LRU Replacement”, Project Aries Technical Memo ARIES-TM-18, AI Lab, M.I.T., Cambridge, MA, March 13, 2002.

J.P. Grossman, “An Efficient C++ Framework for Cycle-Based Simulation”, Project Aries Technical Memo ARIES-TM-17, AI Lab, M.I.T., Cambridge, MA, March 9, 2002.

2000J.P. Grossman, Jeremy Brown, Andrew Huang, Tom Knight, “Multistriped Addressing”, Project Aries Technical Memo ARIES-TM-03, AI Lab, M.I.T., Cambridge, MA, April 13, 2000.

1999J.P. Grossman, Jeremy Brown, Andrew Huang, Tom Knight, “An Implementation of Guarded Pointers with Tight Bounds on Segment Size”, Project Aries Technical Memo ARIES-TM-02, AI Lab, M.I.T., Cambridge, MA, Sept. 14, 1999.

J.P. Grossman, “Roll Your Own Divide/Square Root Unit”, Project Aries Technical Memo ARIES-TM-01, AI Lab, M.I.T., Cambridge, MA, June 24, 1999.

1998J.P. Grossman, “Point Sample Rendering”, Master’s Thesis, Dept. of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, August 1998, 56 pp.

Patents

2004Jeremy H. Brown, Thomas F. Knight, Jr., J.P. Grossman, Andrew W. Huang, “Capability Addressing with Tight Object Bounds”, U.S. Patent No. 6,826,672, November 30, 2004.

2001William J. Dally, Scott W. Rixner, J.P. Grossman, Christopher J. Buehler, “System and method for performing compound vector operations”, U.S. Patent No. 6,192,384, February 20, 2001.

Teaching Experience

2003Guest Lecturer –CSCI 6702: Parallel Computing, DalhousieUniversity

Lectured on shared memory, memory consistency models, SIMD, cellular automata, vector processing and stream processing.

Sessional Instructor–MATH/CSCI 2112: Discrete Structures I, DalhousieUniversity

Principal instructor for second year math/computer science discrete structures course.

2000Assistant Instructor–6.911: Architectures Anonymous, MassachusettsInstitute of Technology.

Co-instructed a senior level computer architecture seminar with two other graduate students.

1999Sessional Instructor–MATH 2040: Matrix Theory and Linear Algebra II, DalhousieUniversity

Principal instructor for second year advanced linear algebra.

1997Teaching Assistant–6.313: Contemporary Computer Design, Massachusetts Institute of Technology

Led weekly tutorials, created and graded problem sets, and provided individual assistance for a senior-level course in computer architecture.

1995-6Teaching Assistant– MAT 357Y: Groups, Rings and Fields, University of Toronto

Led weekly tutorials, graded problem sets, and provided individual assistance for the third year algebra course in the math specialist program.

1994Teaching Assistant–MAT 247H: Algebra II, University of Toronto

Led weekly tutorials, graded problem sets, and provided individual assistance for the second year algebra course in the math specialist program.

1993-4Teaching Assistant–MAT 137Y: Calculus!, University of Toronto

Led weekly tutorials, graded problem sets, and provided individual assistance for first year advanced calculus.

Presentations

2005“Reduced Forms for Games”, invited talk, 2005 BIRS Combinatorial Game Theory Workshop, Banff International Research Station, Banff, Alberta, Canada, June 19, 2005.