Method for managing user and server applications in a multiprocessor computer system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-009/46
출원번호
US-0649768
(2000-08-28)
발명자
/ 주소
Bhagat, Suneel
Risner, David A.
출원인 / 주소
NCR Corporation
대리인 / 주소
Stover James M.
인용정보
피인용 횟수 :
69인용 특허 :
22
초록▼
The invention groups multiple user and server processes executing in a multi-processor computer into collections such that the processes therein share the same processor affinity. User processes have an instance dedicated to each computer system user, and are organized into a user collection and wit
The invention groups multiple user and server processes executing in a multi-processor computer into collections such that the processes therein share the same processor affinity. User processes have an instance dedicated to each computer system user, and are organized into a user collection and within the collection are user sessions associated with a particular user. All of the processes in a user session share the same processor affinity. Server processes typically run as a single instance to support all users, and are organized into server collections. New collections and sessions are dynamically created responsive to the creation of new processes whenever it is determined the new processes should not be assigned to existing collections or sessions. As such, the allocation of processors to a collection or user session may occur dynamically in response to process creation or deletion, thereby enabling processor allocation to take into account current computer usage patterns.
대표청구항▼
1. A method of allocating processes among a plurality of processors in a multi-processor computer, said processes comprising user processes, each instance of a user process being dedicated to a single user, and server processes that typically run as a single instance to support all users, the method
1. A method of allocating processes among a plurality of processors in a multi-processor computer, said processes comprising user processes, each instance of a user process being dedicated to a single user, and server processes that typically run as a single instance to support all users, the method comprising the steps of:(a) organizing said user processes into a user collection;(b) organizing said server processes into at least one server collection;(c) for each user and server collection, assigning all of the processes in such collection to a set of processors from the plurality of processors;(d) within said user collection, organizing said user processes into at least one user session wherein each user session is associated with a particular user, and assigning all of the user processes within such session to a subset of processors from the set of processors assigned to said user collection;(e) in response to a request to create a new user process, determining whether the new user process should be organized into an existing session within said user collection, and if not, dynamically creating a new user session, organizing the new user process in the new user session, and assigning the new user session to a subset of processors from the set of processors assigned to said user collection; and(f) in response to a request to create a new server process, determining whether the new server process should be organized into an existing server collection, and if not, dynamically creating a new server collection, organizing the new server process in the new server collection, and assigning the new server collection to a set of processors from the plurality of processors. 2. The method of claim 1, further comprising the steps of:in response to determining that a new user process should be organized into an existing user session, organizing the new user process into such existing user session such that the new user process is assigned to the subset of processors for the such existing user session,in response to determining that a new server process should be organized into an existing server collection, organizing the new server process into such existing server collection such that the new server process is assigned to the set of processors for the such existing server collection. 3. The method of claim 1, further comprising the steps of:in response to a request to delete an existing user process, removing the existing user process from an existing session within which the existing user process is organized, determining whether any other user processes are organized in the existing user session, and, if not, deleting the existing user session;in response to a request to delete an existing server process, removing the existing server process from an existing server collection within which the existing server process is organized, determining whether any other server processes are organized in the existing server collection, and, if not, deleting the existing server collection. 4. The method of claim 3, further comprising the step of:upon deletion of an existing server collection, reassigning processors included in said set of processors assigned to said deleted server collection to said user collection. 5. The method of claim 4, further comprising the step of:periodically reassigning user sessions to subsets of processes within said set of processes assigned to said user collection to balance the user process workload among the set of processes assigned to said user collection. 6. A computer system for processing a plurality of processes comprising user processes, each instance of a user process being dedicated to a single user, and server processes that typically run as a single instance to support all users, said computer system comprising:a plurality of processors; anda program configured to:(1) organize said user processes into a user collection;(2) organize said server processes into at least one server collection;(3) for each user and server collection, assign all of the processes in such collection to a set of processors from the plurality of processors;(4) within said user collection, organize said user processes into at least one user session wherein each user session is associated with a particular user, and assign all of the user processes within such session to a subset of processors from the set of processors assigned to said user collection;(5) in response to a request to create a new user process, determine whether the new server process should be organized into an existing session within said user collection, and if not, dynamically create a new user session, organize the new user process in the new user session, and assign the new user session to a subset of processors from the set of processors assigned to said user collection; and(6) in response to a request to create a new server process, determine whether the new server process should be organized into an existing server collection, and if not, dynamically create a new server collection, organize the new server process in the new server collection, and assign the new server collection to a set of processors from the plurality of processors. 7. The apparatus of claim 6, wherein the program is further configured to:in response to determining that a new user process should be organized into an existing user session, organize the new user process into such existing user session such that the new user process is assigned to the subset of processors for the such existing user session,in response to determining that a new server process should be organized into an existing server collection, organize the new server process into such existing server collection such that the new server process is assigned to the set of processors for the such existing server collection. 8. The computer system of claim 6, wherein the program is further configured to:in response to a request to delete an existing user process, remove the existing user process from an existing session within which the existing user process is organized, determine whether any other user processes are organized in the existing user session, and, if not, delete the existing user session;in response to a request to delete an existing server process, remove the existing server process from an existing server collection within which the existing server process is organized, determine whether any other server processes are organized in the existing server collection, and, if not, delete the existing server collection. 9. The computer system of claim 8, wherein the program is further configured to:upon deletion of an existing server collection, reassign processors included in said set of processors assigned to said deleted server collection to said user collection. 10. The computer system of claim 8, wherein the program is further configured to:periodically reassign user sessions to subsets of processes within said set of processes assigned to said user collection to balance the user process workload among the set of processes assigned to said user collection. 11. A computer-readable medium comprising a program for use in allocating processes among a plurality of processors in a multiprocessor computer, said processes comprising user processes, each instance of a user process being dedicated to a single user, and server processes that typically run as a single instance to support all users, said program configured to:(a) organize said user processes into a user collection;(b) organize said server processes into at least one server collection;(c) for each user and server collection, assign all of the processes in such collection to a set of processors from the plurality of processors;(d) within said user collection, organize said user processes into at least one user session wherein each user session is associated with a particular user, and assign all of the user processes within such session to a subset of processors from the set of p rocessors assigned to said user collection;(e) in response to a request to create a new user process, determine whether the new server process should be organized into an existing session within said user collection, and if not, dynamically create a new user session, organize the new user process in the new user session, and assign the new user session to a subset of processors from the set of processors assigned to said user collection; and(f) in response to a request to create a new server process, determine whether the new server process should be organized into an existing server collection, and if not, dynamically create a new server collection, organize the new server process in the new server collection, and assign the new server collection to a set of processors from the plurality of processors.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (22)
Abramson Kenneth D. (Seattle WA) Butts ; Jr. H. Bruce (Redmond WA) Orbits David A. (Redmond WA), Affinity scheduling of processes on symmetric multiprocessing systems.
Amanda Elizabeth Chessell GB; Stephen James Cocks GB; Katheryn Sarah Warr GB, Centralized affinity maintenance in a workload managed client/server data processing system.
Chung Jen-Yao (Yorktown Heights NY) Ferguson Donald Francis (Yorktown Heights NY) Nikolaou Christos Nicholas (Heraklion Crete GRX) Teng James Zu-Chia (San Jose CA) Wang George Wei (Yorktown Heights N, Goal-oriented resource allocation manager and performance index technique for servers.
Allon David (Jerusalem ILX) Bach Moshe (Haifa ILX) Moatti Yosef (Haifa ILX) Teperman Abraham (Haifa ILX), Load balancing of network by maintaining in each computer information regarding current load on the computer and load on.
Boland Vernon K. ; Brasche Kevin R. ; Smith Kenneth A., Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors an.
Choquier Philippe,FRX ; Peyroux Jean-Francios ; Griffin William J., Method of redirecting a client service session to a second application server without interrupting the session by forwa.
Harrison R. Loyd (Fullerton CA) Davies Steven P. (Ontario CA), Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes.
Bradshaw ; Jr. Robert David ; Dandapani Ajit, Operating system having a mechanism for handling a group of related processes residing on separate machines.
Aman Jeffrey David ; Cotner Curt Lee ; Dillenberger Donna Ngar Ting ; Emmes David Bruce, System for assignment of work requests by identifying servers in a multisystem complex having a minimum predefined capa.
Aman Jeffrey D. (Wappingers Falls NY) Cotner Curt L. (Gilroy CA) Dillenberger Donna N. T. (Yorktown Heights NY) Emmes David B. (Poughkeepsie NY), System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and ca.
Kaneko Seiji (Yokohama JPX) Kinoshita Toshiyuki (Sagamihara JPX) Yamamoto Akio (Sagamihara JPX) Tamura Yasuhisa (Sagamihara JPX), Task scheduling method in a multiprocessor system where task selection is determined by processor identification and eva.
Brendel Juergen ; Kring Charles J. ; Liu Zaide ; Marino Christopher C., World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-n.
Pandya, Ashish A., Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine.
Geye,Scott Alan; Munson,Matthew; Valverde,Thomas Adrian; Hong,Steve JungHyun; Hendrix,James V Thomas, Dynamic resource management system and method for multiprocessor systems.
Sharoff, Narasimha N.; Kashyap, Vivek; Seetharaman, Chandrasekhara, Management, control, and monitoring of workload including unrelated processes of different containers.
Acuna, Jorge D.; Cervantes, Ezequiel; Taljanovic, Nedzad, Method, computer system, and physical computer storage medium for organizing data into data structures.
Acuna, Jorge D.; Cervantes, Ezequiel; Taljanovic, Nedzad, Method, computer system, and physical computer storage medium for organizing data into data structures.
Bono,Jean Pierre, Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system.
Dudgeon, Kyle B.; Reed, David C.; Rios, Esteban; Smith, Max D., Selecting first data sets in a first storage group to swap with second data sets in a second storage group.
Dudgeon, Kyle B.; Reed, David C.; Rios, Esteban; Smith, Max D., Selecting first data sets in a first storage group to swap with second data sets in a second storage group.
Dudgeon, Kyle B.; Reed, David C.; Rios, Esteban; Smith, Max D., Selecting first data sets in a first storage group to swap with second data sets in a second storage group.
Bhattacharyya, Anamitra; Dantam, Krishnamohan; Kosaraju, Ravi; Makonahalli, Manjunath D., Techniques for assigning user workloads to application servers.
Chhaunker, Gaurav; Muthiah, Muthu A.; Shah, Dhaval K.; Sivaperuman, Ganesh, Using unused portion of the storage space of physical storage devices configured as a RAID.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.