Ilya Gertner

Learn More
Debugging parallel programs with time critical dependencies is difficult due to subtle race conditions that may cause deadlock, starvation, and other errors. These errors can be detected by multiple instrumentation points triggered by logical assertions. Although some advanced debuggers provide a programmer with the ability to define complex logical(More)
Existing kernel-level debugging primitives are inappropriate for instrumenting complex sequential or parallel programs. These functions incur a heavy overhead in their use of system calls and process switches. Context switches are used to alternately invoke the debugger and the target programs. System calls are used to communicate data between the target(More)
This paper concerns the performance evaluation of an operating system based on communicating processes. Processes communicate via messages and there is no shared data. Execution of a program is abstracted as a sequence of events to denote significant computational steps. A finite state machine model of computation is used for the specifications of abstract(More)
Traditional UNIX processes are inadequate for representing multiple threads of control in parallel programs. They are inflexible in their resource allocation, unable to cleanly share system resources, and they carry a heavy overhead. Some new operating systems, such as MACH, split the process into multiple lightweight threads of execution and a task which(More)
Existing debuggers and profilers are inadequate for debugging and profiling parallel programs. They are awkward in their handling of multiple threads of control and highly intrusive in their monitoring of program behavior. Parasight<supscrpt>TM</supscrpt> is an architecture that is geared towards non-intrusive high-level debugging and profiling. Parasight(More)
The authors discuss the inherent bandwidth limitations of shared buses, which are assumed to set a ceiling on the performance and scalability of this architecture. They report on three years of experience with production multiprocessor systems. Advances in bus and cache technologies have greatly raised the ceiling which limits the throughput of bus-based(More)
  • 1