• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/doc/014-bulk-transfer/

Lines Matching defs:shared

62 virtual address-space.  The virtual address where this shared memory is loaded
76 virtual address pointing to the beginning of the shared memory area.
86 transfer mechanism. Malicious domain can corrupt the data in shared
107 with network driver which is used as shared memory. Then application
109 within shared memory, length, \textit{pbuf-id} and the shared memory id to
113 value is enough to find the location of buffer within shared memory,
124 buffer of any size, located anywhere in the shared memory.
141 The shared memory needs to be bigger than the memory shared with
148 domains have read/write access to the shared memory at all the time.
311 shared-pools used by the particular producer. The initial
312 shared-pool is added by the producer, and later on every consumer
313 which joins the system contributes a new shared-pool to the
324 information to locate particular slot present in any shared-pool
327 should have a shared-pool-id and offset within shared-pool to
369 using shared-pools to get that data till consumers. It is also
370 responsible for managing the shared-pool memory and co-ordinating
371 the access to this shared resource.
377 shared-pool into \textit{slots}. The size of slot
384 The producer is responsible for managing these shared-pools, and it
385 does by maintaining the list of shared-pools. At the time of producer
386 initialization there will be only one shared-pool which is added by
388 them will contribute an additional shared-pool.
391 \subsubsection{Releasing the shared-pool}
393 stops using the shared-pool provided by him. The producer will
394 wait till all the slots in that shared-pool are free and then it will
395 ask all consumers who have mapped this shared-pool to release the
398 shared-pool about completion of the process.
406 %The virtual address where the shared-pool is mapped need not be same for
411 The production-pool is just a collection of all valid shared-pools
418 So, one way to look at this is that, producer will provide shared-pool
420 contribute a shared-pool to allow in-consumption data-elements.
422 in-consumption data-elements based on the size of shared-pool it
430 a shared-pool. It can be seen as index table on shared-pool.
432 slots within shared-pool. Following are the key elements of
436 \item \textbf{offset:} The location of slot within the shared pool.
444 The producer maintains a separate meta-slot list for very shared-pool
451 \subsection{shared and private data-structure}
453 private and which of them are shared with other entities.
462 \item List of shared-pool-meta-data. This meta-data includes
465 \item Consumers having access to this shared-pool.
467 state of each slot in this shared-pool.
468 \item List of free slots in this shared-pool.
470 data-elements is shared with generator. But as we treat generator as
471 internal entity, we mark this as private data instead of shared
479 \item Shared-pools can be shared with any consumer.
481 \ref{sec:consumer-queue}) is pairwise shared with that consumer.
488 access to the shared-pools.
494 The consumer-queue is a shared data-structure between consumer and
496 This data-structure is also maintained on contiguous shared memory
498 data-structure is shared ring-buffer with few virtual-registers
535 shared-pools within production-pool of the producer.
538 \item \texttt{shared-pool-id:} Id of the shared-pool which is
541 shared-pool. As the shared-pools within particular
543 a slot-pointer with shared-pool-id which it has not mapped yet.
545 read-only access to this new shared-pool and then map it into
546 the virtual address-space. Once the shared memory frame
547 associated with shared-pool memory is mapped, consumer can
550 shared-buffer. This value is only useful for producer as this
560 producer in relocating the slot within shared-pool when it is
562 \item \texttt{Offset:} The start of the slot within shared-buffer.
599 \subsection{shared and private data-structure}
601 private and which of them are shared with other entities.
620 \item The shared-pool that it has contributed to producer and
621 potentially shared with all consumers.
622 \item The consumer-queue is exclusively shared with producer.
678 \item \textbf{Add shared-pool:} This is an optional notification which
680 shared-pools. This message is optional because consumers
681 can lazily ask for these new shared-pools whenever they
686 to increase the available shared-pools. This can be classified as
689 \item \textbf{Remove shared-pool:} This notification is opposite of above
690 \textit{add shared-pool} call. It tells consumer is that producer
691 will not be using a particular shared-pool from now onwards
692 for whatever reason (eg. the consumer which gave that shared-pool
695 shared-pool from it's virtual memory. This notification is
698 of available shared-pool. So, this notification should not
718 \item \textbf{Get frame for shared-pool-id:} This notification is
720 shared-pool-id which is not mapped by this consumer yet. By
722 access to this shared-pool. The producer should respond to
796 \item Create and initialize the empty list of shared-pools and meta-slots.
797 \item Create and add the initial shared-pool big enough to satisfy
799 \item Divide the shared-pool into slots, create a meta-slots list
800 for this shared-pool and add it to meta-slots list.
816 producer as new shared-pool frame.
817 \item Get the list of registered shared-pools from producer and
840 shared-pools. Once created, slot remains valid until and unless the
841 shared-pool holding the slot needs to be freed. In the lifetime of
952 proportional to the size of shared-pool that particular consumer has
989 contain information like shared-pool-id which can be used to find the
992 shared-pool by making sure that offset is always smaller than
993 shared-pool size.
1000 generator and other consumers as one of the shared-pool is not
1028 This shortcoming can be overcome by sharing the shared-pool pairwise
1058 In this model, shared-pools are not shared with all consumers, but
1059 every shared-pool is pairwise shared between producer and with only
1060 one consumer (one who has contributed that shared-pool). The initial
1061 shared-pool contributed by the producer itself is shared between
1062 producer and generator. This shared-pool will not be directly
1066 shared-pool of the selected consumers. This way, other consumers can
1076 In this model as well, shared-pools are not shared with all
1077 consumers, but every shared-pool is shared between
1082 data-elements can be directly created into the shared-pool of selected
1084 shared-pool of the consumer.