Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 60641: Operating Systems The duality of memory and communication in the implementation of a multiprocessor operating system. Young, M., Tevanian, A.,

Similar presentations


Presentation on theme: "CSE 60641: Operating Systems The duality of memory and communication in the implementation of a multiprocessor operating system. Young, M., Tevanian, A.,"— Presentation transcript:

1 CSE 60641: Operating Systems The duality of memory and communication in the implementation of a multiprocessor operating system. Young, M., Tevanian, A., Rashid, R., Golub, D., and Eppinger, J. SOSP '87 –Implementing user level memory system using the communication primitives in Mach 18-Feb-16CSE 60641: Operating Systems1

2 Mach Task, thread, port, messages, memory objects Ports –Inter-process communication –Protected bounded queue within the kernel –Access to port is granted by receiving a message containing a port capability (to send or receive messages) –Any number of senders, only one receiver Message –Fixed length header and variable size collection of typed data objects. Messages may contain port capabilities or imbedded pointers as long as they are properly typed. 2/18/2016CSE 60641: Operating Systems2

3 External Memory management Unified way for user level management of backing store, file system, networked file system etc. Calls made by an application program to cause a memory object to be mapped into its address space Calls made by the kernel on the data manger Calls made by the data manager on the Mach kernel to control use of its memory objects –Calls are made via ports and are asynchronous –All the components can be distributed –Can support multiple clients for the same objects (share) 2/18/2016CSE 60641: Operating Systems3

4 Application to kernel interface –vm_allocate_with_pager: library can call this to implement a file system (by mapping secondary storage manager) Kernel to data manager interface –pager_init(), pager_data_request(), pager_data_write(), pager_data_unlock(), pager_create() Data manager to kernel interface –Pager_data_provided(), pager_data_lock(), pager_flush_request(), pager_clean_request(), pager_cache(), pager_data_unavailable() All interactions via messages to ports and asynchronous. Need extra buffers because of delay 2/18/2016CSE 60641: Operating Systems4

5 Courtesy: Rajesh Sudarsan @ VirginaTech5 Consistent Network Shared Memory (Initialization) Shared Memory Server Client AClient B Mach Kernel A Mach Kernel B 1: A Request X 5: B Request X 2: vm_allocate_with_pager 3: pager_init(X, request_A, name_A) 7: pager_init(X, request_B, name_B) 8: vm_allocate_with_pager 4: Client A resumed 6: Client B resumed

6 CS 52046 Consistent Network Shared Memory (Read) Shared Memory Server Client AClient B Mach Kernel A Mach Kernel B Client A faults pager_data_request(X, request_A, offset, page_size,VM_PROT_READ) Client B faults Client A resumed Client B resumed pager_data_provided( request_A, offset, page_size, VM_PROT_WRITE) pager_data_request(X, request_B, offset, page_size,VM_PROT_READ) pager_data_provided( request_B, offset, page_size, VM_PROT_WRITE) Courtesy: Rajesh Sudarsan @ VirginaTech

7 CS 52047 Consistent Network Shared Memory (Write) Shared Memory Server Client AClient B Mach Kernel A Mach Kernel B Client A write faults pager_data_unlock( X, request_A, offset, page_size, VM_PROT_WRITE) Client A resumed pager_data_lock( request_A, offset, page_size, VM_PROT_NONE) pager_flush_request(request_ B, offset, page_size) Courtesy: Rajesh Sudarsan @ VirginaTech

8 What are the key ideas? Implement memory as a communications mechanism –Hardware systems use similar ideas: UMA – Uniform memory access NUMA – Non-UMA NORMA – No Remote memory access Applications: –Copy on reference process migration –Database management: Camelot –AI Knowledge base: Agora 2/18/2016CSE 60641: Operating Systems8

9 Performance evaluation Sketchy –Avoid deadlocks using extra threads –Memory mapped file system can be fast – at the expense of storage safety The data manager is trusted to not be malicious and respond within reasonable amounts of time 2/18/2016CSE 60641: Operating Systems9


Download ppt "CSE 60641: Operating Systems The duality of memory and communication in the implementation of a multiprocessor operating system. Young, M., Tevanian, A.,"

Similar presentations


Ads by Google