|
About
|
The Prognostic Lab is an experimental systems research group in the Computer Science Department at
the University of Pittsburgh led by Assoc. Prof. Jack Lange. Our work focuses on the design of core systems
software capable of fully utilizing next generation hardware environments while at the same time being
amenable to dynamic resource managers. Our research is based primarily in the context of high performance
and extreme scale computing. To increase the applicability of high performance systems, we seek to provide
unmodified applications transparent access to high performance resources. Our methods are based on the design,
implementation and evaluation of experimental systems.
|
|
|
People
- Jack Lange, Associate Professor
- Nick Gordon, PhD Student
- Maddie Boby, PhD Student
- Jinpeng Zhou, PhD Student
|
Former Members
Undergraduates
- Charles Smith -- Built VM configuration framework for Palacios
- Scott Whipkey -- Investigated Nested Virtualization I/O performance
|
|
|
Active Projects (Source code repositories are here)
|
Leviathan Node Manager
Leviathan is a intra-node management and information service for multi-enclave environments.
It's goal is to explore the use of in memory databases to manage and integrate enclave instances,
each running independent and isolated OS/Rs. Leviathan also serves to integrate many of our other
projects under a common runtime API. At the heart of Leviathan is an information service built on
a in-memory No-SQL database.
(If you are looking for the Hobbes environment download this first, and run ./setup.sh)
|
|
|
Pisces Co-kernel
Pisces is a lightweight co-kernel architecture that is designed to allow multiple native
Operating Systems to run concurrently on the same local compute node. Each Operating System
instance provides an isolated enclave to a co-located workload while ensuring that it's
performance not impacted by other workloads on the same local node. Pisces is primarily
designed to support in-situ and composed HPC applications, which require strong performance
isolation to prevent cross workload interference.
|
|
|
Palacios VMM
Palacios is an OS independent virtualization library, that provides VMM functionality
to a host Operating System. Palacios is highly configurable and designed to be embedded into
different host operating systems, such as Linux and the Kitten lightweight kernel.
Palacios is a non-paravirtualized VMM that makes extensive use of the virtualization extensions
in modern Intel and AMD x86 processors. Palacios is designed specifically for HPC environments,
and has been used to virtualize the full range of hardware from desktop workstations to Top 500
ranked Cray supercomputers.
|
|
|
XEMEM Shared Memory
XEMEM is a cross enclave local shared memory architecture meant to allow applications to directly
share memory even when they are deployed inside separate OS/R instances. XEMEM provides a common
API that is portable across arbitrary enclave topologies and allows unmodified application binaries
to be deployed to any OS/R instance based on runtime configuration decisions.
|
|
|
Kitten Lightweight Kernel
Kitten is a lightweight kernel (LWK) compute node operating system, similar to previous LWKs such as SUNMOS, Puma, Cougar,
and Catamount. Kitten distinguishes itself from these prior LWKs by providing a Linux-compatible user environment, a more
modern and extendable codebase, and a virtual machine monitor capability via Palacios that allows full-featured guest
operating systems to be loaded on-demand.
|
|
|
Completed Projects
HPMMAP
|
HPMMAP (High Performance Memory Mapping and Allocation Platform) is a lightweight memory manager for
commodity operating systems. It provides a memory management stack that can support unmodified high
performance computing (HPC) applications running on Linux.
|
|
|