Enhanced HAP Capital’s price feed infrastructure for improved performance, implemented vectorized order books, upgraded their build system. Implemented connectivity to several third-party service providers. Implemented yet another takeout engine. Reduced the time required for simulations to consume an entire days worth of OPRA and native US equity feeds, all the while calculating new theoretical values and making trading decisions, to under 2 minutes.
Responsible for all options- and futures-related exchange connectivity (both in the US and overseas) as well as the actual execution engines for Volant Trading during its first years as a startup.
Identified the flaws in the High Availability Group Services protocol of IBM’s Reliable Scalable Clustering Technology, reducing the join time on LLNL’s ASC Purple supercomputer from over an hour to under 2 seconds. Since the approximately $290 million contract required a boot of the cluster of over 1500 nodes to be completed within 4 hours, this removed HAGS from the list of items that could have contributed to a contract default by IBM and freed up a significant amount of the boot time budget.
Co-author of U.S. Patent 6,748,416 that covers the fundamental idea of software-defined networking, namely actively managed endpoints and intermediaries that share observed state and enable management applications to select alternate paths to services so as to avoid the tragedy of the commons.
One of the very few people for whom IBM created a company dedicated to selling the technologies they had developed. IBM also did object-code-only licensing arrangements with several third parties, such as Argonne National Lab and Advanced Networks & Services.
Author of DRAGONS, a transparently distributed object-oriented framework that won the Open Software Foundation's Distributed Management Environment competition for the real-time management component, and was used as the basis of the 9076 SP1 System Monitor. DRAGONS was intended to handle the scale of the proposed National Research and Education Network.
Author of the first SNMP sub-agent technology, eventually publicly documented as RFC 1228 and RFC 1592.
Did the port of Sun RPC for the VM TCP/IP product and implemented the first BSD socket library for VM TCP/IP.
Author of XGMON, the first hierarchical network manager for the Internet. Most of the world’s core networks (NSFNET, CA*NET, EUnet, as well as corporate internal backbones such as those of IBM, Boeing, Motorola, etc.) made use of it. Its design was unique and very flexible, which also led to it supporting the first multi-user network management clusters and its application in a variety of completely unrelated domains, such as controlling tollbooths on the Italian Autostrade and a satellite tracking system for the US Air Force.
Member of the team that delivered the fastest math kernels for the Cray-2, which were implemented as handcrafted Cray-2 assembler language. These were used in easily anticipated ways for classified (nuclear weapons simulation) and unclassified work (computational chemistry, aerodynamics, etc.) as well as the unexpected (finding the fourth North Korean tunnel).
Preferred well-known development language is C++ (used since 1987). Commercial products developed using C++, C, BASIC, COBOL, Cray-2 Assembler, Zilog Z-80 Assembler, FORTRAN, Intel x86 assembler, etc. Research projects developed using Pascal, Lisp, ML, BCPL, IBM 360/370 Assembler, Motorola 68000 assembler, Cray X-MP assembler and other obscure languages.
In recent years, development activities have been focused on frameworks for options trading. For Volant Trading, designed and implemented the price feed layer (exchange interfaces, network distribution layer and client APIs that supported synthetic variables and merged prices), and the low-latency execution engines for high-frequency options trading on several exchanges (ISE, CBOE, NASDAQ, NYSE, ARCA, OSE, SGX, Eurex, etc.).
Primary R&D activities have been in distributed systems (usually in the network and system management domain), with a focus on implementing high-performance multi-threaded transparently distributed frameworks to enable the development of distributed, nonstop, fault-tolerant applications.
Applications ranged from custom accounting/inventory control/billing systems, compilers (e.g., the CEDARS compiler for class scheduling that was done for the University of Michigan, G [in XGMON] and OOG [for DRAGONS], which were done for IBM, OIL2 [done for the FARGOS/VISTA Object Management Environment]), network/systems management platforms and technologies (XGMON, DRAGONS, the SNMP Distributed Program Interface, documented in RFC 1228 and RFC 1592, SNMP Query Engine for Netview/390, 9076 SP1/SP2 System Monitor and framework for distributed systems management, The Enterprise Management Protocol [TEMP]), to genetic algorithms applied to virtual LAN configuration and Byzantine fault-tolerant transaction monitors (FARGOS/SolidState).
In addition, designed and implemented a multitasking operating system for TRS‑80 Model 1’s, implemented math kernels for Cray-2 vector multiprocessors, dynamic loader and lightweight process library for SunOS.
U.S. Patent 6,748,416 — Client-side method and apparatus for improving the availability and performance of network mediated services
This patent is now free for anyone to practice who had not previously licensed IBM’s patent portfolio. Its core concept was for endpoints to both be monitored to observe the health and load on the network as well as be actively managed, thereby allowing management applications to direct an endpoint to use alternate routes to avoid congested links/service providers or outright outages. One of the benefits of a more global view than that of an individual endpoint was to avoid the so-called tragedy of the commons. The actual implementation was done for UDP and TCP flows. In the current era, the concept has been referred to as “Software Defined Networking” with OpenFlow being an example of the specification of a low-layer control protocol using a switch to make routing decisions.
Designed, implemented, as well as repaired existing, performance-sensitive infrastructure related to price feeds and options trading. Performance improvements tended to reduce execution times by a factor of 10 to 100. Implemented an exchange-independent options trading engine that was live on CBOE, controlled and monitored via standard web browsers like Firefox, and was also capable of processing historical data in simulation mode. In simulation mode, it could consume a day’s worth of an OPRA feed and the corresponding underlying feeds in about 2 minutes of elapsed real-time, while pricing options on each relevant tick and indicating selected trading opportunities, whereas the original infrastructure originally took around 24 minutes just to consume the OPRA feed itself. Contributed significant improvements to the build system infrastructure and provided many development tools that were accessible to all developers. Brought the source code base up to C++-17 standards. Implemented miscellaneous feed-like services, such as consumers of the Dow Jones or Reuters news products, Request-For-Quote responders and interfaces to a plethora of third-party overseas commodity feeds.
Designed and implemented the performance-sensitive components for Volant's first years of operation. These included the low-latency (i.e., less than 70 microseconds), high-frequency execution engines that embedded the logic and risk controls for options trading that were the firm's reason for existence as well as the multicast price feed layer supporting synthetic prices and merging across multiple exchanges (e.g., exchange connectivity, multicast distribution layer, client APIs, caches, and associated utilities for logging, reports and replay for simulation). These frameworks were interfaced to ISE, CBOE, NASDAQ, NYSE, ARCA, OSE, SGX, Eurex, etc. to perform the business of the firm. All option trades were done via Immediate-Or-Cancel orders (or nearest equivalent capability); in the symbols that were traded, the firm was responsible for approx. 4% of the US market volume and had an approx. 85% success rate for orders submitted in response to an option price change. Designed and implemented efficient log filter that could consume multiple files and streams in parallel, extract content of interest and format for display in appropriate colors; this was used for all trader event GUIs and to drive background utilities like event-specific sound generation. FARGOS/VISTA technologies were used to forward multicast packets between sites and handle sound requests made from the remote population of machines.
As a consultant, identified design defects in IBM’s Reliable Scalable Clustering Technology, created models of expected performance and provided education regarding algorithm design, modern C++ and compilers. A notable contribution to the scaling improvements required to support Lawrence Livermore National Lab’s ASC Purple supercomputer included both identifying the flaw in the group consensus protocol that caused stabilization times to be over an hour and providing the solution that reduced the time to less than 2 seconds. Added packet fragmentation/reassembly support to enable arbitrarily large messages within RSCT’s reliable messaging layer. During 2005 and 2006, taught a weekly class on the fundamentals of distributed algorithms with a focus on the origins of the technology being shipped by IBM’s Systems & Technology Group. Directed the design and implementation of the automated test suite for RSCT’s Infiniband support on Linux and AIX.
Performed design, implementation and documentation of the high-performance, secure, transparently distributed, architecture-neutral, multilingual object-oriented applications infrastructure known as FARGOS/VISTA and the FARGOS/SolidState Byzantine fault-tolerant transaction monitor. Managed and contributed to development efforts of various web-based customer-specific applications.
Invented and implemented the XGMON and DRAGONS technologies for the National Science Foundation Network as well as the original SNMP network management agents for the backbone routers, which in turn were ported to VM, MVS, and OS/2. A reduced function version of XGMON was sold as the Network Management/6000 Licensed Program Product for AIX. DRAGONS was selected by the Open Software Foundation to provide the real-time component of their Distributed Management Environment. Invented the SNMP Distributed Program Interface, documented years later as RFC 1228, which enabled management of the NSFNET’s Cylink ACSUs and permitted the implementation of the VM and MVS SNMP agents. Ported Sun RPC to VM for the VM 1.2 TCP/IP release and also wrote the BSD socket interface compatibility layer on top of the original Pascal-based VM APIs. Invented and implemented the SNMP Query Engine to enable SNMP support for Netview/390 and integrated it with XGMON to create first multi-user SNMP network management platform. Invented and implemented the DRAGONS Display Manager as the GUI technology for the 9076 SP1 System Monitor and provided the DRAGONS-based applications for the system monitor and management framework.
Other research activities included configuration of virtual LANs by genetic algorithms, an Internet access cartridge for the Nintendo SNES, fault-tolerant services, enterprise management protocols, and pervasive computing. The XGMON and DRAGONS technologies were afforded special case treatment and licensed to select IBM customers before being generally available as products. IBM Research took the extraordinary step of creating NetSmith's, Ltd. as an independent firm dedicated to selling DRAGONS and other companies licensed the DRAGONS technology suite for resale under their own brands.
As a systems programmer, implemented a dynamic loader for 4.3BSD UNIX (SunOS on Sun 3's), a library to implement lightweight processes (i.e., user-space multi-threading) and a process checkpoint/restart facility.
As a consultant, was responsible for developing appropriate techniques for benchmarking Cray-2 supercomputers and the implementation of ultra-high performance algorithms for use by the computational chemistry group working on the NAS project. Most notable accomplishment was the implementation of the fastest matrix multiplication kernel for the Cray-2. Designed and implemented a "microtasking" library for the Cray-2.
As a research assistant to Donald A. Calahan, designed and implemented several high-performance kernels for the Cray-2 scientific library (e.g., scalar times a vector, vector times a vector, matrix times a matrix, etc.). Designed and implemented benchmarking routines. Performed only available comparisons on the effect of pseudo-banking on the Cray-2 before and after implementation of this hardware modification on the NAS Cray-2. Various benchmarking experiments comparing algorithm performance between dissimilar architectures, such as vector processors (e.g., Cray-2, Cray Y-MP) and hypercubes (e.g., nCUBE, Intel).
In what has been stated to be one of the landmark court cases pertaining to "look-and-feel" (Frybarger vs. IBM), was retained to determine whether the source of one program in 6502 assembler was a derivative of another in 8086 assembler. Analysis results were explained in court by Bernard A. Galler and were sufficiently compelling to win a summary judgment.
9/84-12/84: Designed and implemented FARGOS (Fantastic And Really Great Operating System), a multi-tasking operating system for TRS‑80 model I microcomputers.
1/86-5/86: Implemented a Unix System III-based simulator of the TRS‑80 Model I with multi-processor extensions and enhanced FARGOS to support multiple processors, which became FARGOS/MP. Some of the FARGOS/MP source code is online at http://www.fargos.net/fargos_source.html.
G. Carpenter & G. Goldszmidt, “Remote Management of Narwhal Clients using TEMP”, NOMS 2000, http://www.fargos.net/documents/papers/NOMS2000.pdf
G. Carpenter, “Enabling the Management of Everything using TEMP”, Globecom 99, http://www.fargos.net/documents/papers/Globecom99.pdf
G. Carpenter & G. Goldszmidt, “Improving the Availability and Performance of Network Mediated Services”, INET99, http://www.fargos.net/documents/papers/Inet99nca.pdf
R. Lehman, G. Carpenter & N. Hien, “Concurrent Network Management with a Distributed Management Tool”, USENIX LISA VI, http://www.fargos.net/documents/papers/LISA.pdf
RFC 1228: SNMP-DPI: Simple Network Management Protocol Distributed Program Interface, http://www.ietf.org/rfc/rfc1228.txt
RFC 1592: SNMP DPI Version 2, http://www.ietf.org/rfc/rfc1592.txt
http://www.fargos.net/gccAwards.html documents some of the awards that were received in recognition of technical accomplishments.
IBM Outstanding Technical Achievement for the National Science Foundation Network (the network management software, which is primarily for XGMON).
IBM Outstanding Technical Achievement for 9076 SP1 System Monitor (DRAGONS-based infrastructure and applications).
IBM Research Technical Group Award for contributions to TCP/IP (SNMP DPI, SNMP Query Engine to enable SNMP support for Netview, the port of Sun RPC, first BSD socket library for VM).
M. S. in Computer Science and Engineering from the University of Michigan, Ann Arbor, Michigan.
B. S. with Distinction Honors in Computer and Communication Sciences from the University of Michigan, Ann Arbor, Michigan
United States citizen.