With 40 years of computing experience spanning industry and academia, Alan Kaminsky has developed telephone switching system software at Bell Laboratories, developed real-time embedded control software and fuzzy genetic algorithms at Harris Corporation, taught graduate software engineering as an Assistant Professor at the Rochester Institute of Technology, and worked on printer system architectures at Xerox Corporation. While at Xerox, Alan got involved with Sun Microsystems' Jini Network Technology, led the Jini Printing Working Group industry consortium that defined a draft specification for the Jini Print Service, and was part of the expert group that developed the Java Print Service API released as package javax.print in the standard Java platform. Alan was also one of the original members of the Jini Community Technical Oversight Committee.
Now a Professor in the Department of Computer Science at the Rochester Institute of Technology, Alan teaches and conducts research in parallel computing, cryptography, and computational science (primary interests), distributed systems, ad hoc networking, and security (secondary interests). Alan investigates the use of parallel computers to solve problems involving massive amounts of computation, including statistical analysis of cryptographic functions; attacks on cryptographic functions using parallel satisfiability (SAT) solvers; massively parallel stochastic local search algorithms for hard (NP) problems; and massively parallel randomized approximation algorithms for NP problems.
Alan invented Parallel Java and its successor Parallel Java 2, an API and middleware for parallel programming in 100% Java on multicore parallel computers, cluster parallel computers, and hybrid multicore cluster parallel computers. Alan wrote the textbook Big CPU, Big Data: Solving the World's Toughest Computational Problems with Parallel Computing (CreateSpace, 2016) based on Parallel Java 2. Alan also wrote the textbooks Building Parallel Programs: SMPs, Clusters, and Java (Cengage Course Technology, 2010) and Simulation Simplified (Creative Commons, 2011).
Alan has a B.S. in Electrical Engineering from Lehigh University and an M.S. in Computer Engineering from the University of Michigan.
- Parallel Computing
- Computational Science
- Distributed Systems
- Ad Hoc Networking