pvas-overview Partitioned Virtual Address Space (PVAS) Overview

This documentation will describe the overview of Partitioned Virtual Address Space (PVAS) and its extentions. PVAS is a new task model somewhere between process and thread.


Recently processors are having more number of CPU cores to achieve higher power efficiency. In order to utilize those cores, applications must be written in a multithread way or communicating-processes way. However, program codes must be re-entrant in a multithreaded way, and inter-process communication incurrs high overhead. The new task model, PVAS, is to avoid those problems, and to provide more natural concurrent or parallel programming model.

Roughly speaking, PVAS is the task model to put processes in one virtual address space. Thus, each process may access the data owned by the other process and there is no need of high-overhead IPC. Note that there is no protection between those processes in a PVAS. However, even two communicationg processes via the Linux/Unix pipe, the abnormal termination of one process causes the termination of the other process (SIGPIPE). Thus, "sharing ths same fate" is the nature of communicating processes. And PVAS is the model to elimate the process protection boundary to provide fast data accessing between processes.


PVAS and Its Extensions

Multiple PVAS

Multiple PVAS (MPVAS) is to extend the PVAS idea to the hybrid architecture consisting of multi-core and many-core CPUs and connecting them via the PCI-express bus. In MPVAS, PVAS address space on multi-core and PVAS address space on many-core are put together as one MPVAS address space. An MPVAS task running on multi-core can access the data owned by the PVAS task running on many-core, and vice versa.

((M)PVAS) Agent

(M)PVAS Agent is very similar to the client-server model which is very common in the Linux/Unix world. Agent is a (M)PVAS task to provide some specific service and user PVAS task(s) can ask something to an agent. The (M)PVAS Agent is a library to provide such a framework.

See also:
pvas mpvas pvasagent
Atsushi Hori, RIKEN AICS
 All Data Structures Files Functions Variables Typedefs Defines

Generated on 15 Nov 2013 for (M)PVAS by  doxygen 1.6.1