Software architecture for control of highly parallel computer systems
First Claim
1. A software architecture for controlling a highly parallel computer system comprising:
- abstract physical machines comprising abstract physical processors forming a microkernel;
virtual machines associated with respective abstract physical processors, said virtual machines comprising virtual processors; and
thread groups comprising threads which run on said virtual processors,where said virtual processors and said threads are first class objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer software architecture for controlling a highly parallel computer system comprises several layers of abstraction. The first layer is an abstract physical machine which contains a set of abstract physical processors. This layer may be considered as a microkernel. The next layer includes virtual machines and virtual processors. A virtual machine comprises a virtual address space and a set of virtual processors that are connected in a virtual topology. Virtual machines are mapped onto abstract physical machines with each virtual processor mapped onto an abstract physical processor. The third layer of abstraction defines threads. Threads are lightweight processes that run on virtual processors. In a preferred embodiment the abstract physical machines, abstract physical processors, virtual machines, virtual processors, thread groups, and threads are all first class objects.
-
Citations
21 Claims
-
1. A software architecture for controlling a highly parallel computer system comprising:
-
abstract physical machines comprising abstract physical processors forming a microkernel; virtual machines associated with respective abstract physical processors, said virtual machines comprising virtual processors; and thread groups comprising threads which run on said virtual processors, where said virtual processors and said threads are first class objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer system comprising:
-
a plurality of customizable abstract physical processors connected in a customizable physical topology each containing a customizable virtual processor controller and a customizable virtual processor policy manager; a plurality of virtual machines each comprising a virtual address space whose topology is user specifiable and further comprising virtual processors which execute responsive to said virtual processor controller and said virtual processor policy manager and which contain a thread controller and a thread policy manager, said virtual processors being connected in a dynamic virtual topology and each virtual processor being mapped onto a respective abstract physical processor which mapping may be dynamically altered without modification to the implementation; and a plurality of threads for running on said virtual processors responsive to said thread controllers and thread policy managers. - View Dependent Claims (19, 20, 21)
-
Specification