23,012 research outputs found

    NBBS: A Non-blocking Buddy System for Multi-core Machines

    Get PDF
    Common implementations of core memory allocation components, like the Linux buddy system, handle concurrent allocation/release requests by synchronizing threads via spinlocks. This approach is not prone to scale with large thread counts, a problem that has been addressed in the literature by introducing layered allocation services or replicating the core allocators—the bottom most ones within the layered architecture. Both these solutions tend to reduce the pressure of actual concurrent accesses to each individual core allocator. In this article we explore an alternative approach to scalability of memory allocation/release, which can be still combined with those literature proposals. We present a fully non-blocking buddy-system, where threads performing concurrent allocations/releases do not undergo any spinlock based synchronization. Our solution allows threads to proceed in parallel, and commit their allocations/releases unless a conflict is materialized while handling its metadata. Conflict detection relies on conventional atomic machine instructions in the Read-Modify-Write (RMW) class. Beyond improving scalability and performance, our solution can also avoid wasting clock cycles for spin-lock operations by threads that could in principle carry out their memory allocation/release in full concurrency. Thus, it is resilient to performance degradation—in face of concurrent accesses—independently of the current level of fragmentation of the handled memory blocks

    Multiplexing induced explosive synchronization in Kuramoto oscillators with inertia

    Full text link
    Explosive synchronization (ES) of coupled oscillators on networks is shown to be originated from existence of correlation between natural frequencies of oscillators and degrees of corresponding nodes. Here, we demonstrate that ES is a generic feature of multiplex network of second-order Kuramoto oscillators and can exist in absence of a frequency-degree correlation. A monoplex network of second-order Kuramoto oscillators bearing homogeneous (heterogeneous) degree-distribution is known to display the first-order (second-order) transition to synchronization. We report that multiplexing of two such networks having homogeneous degree-distribution support the first-order transition in both the layers thereby facilitating ES. More interesting is the multiplexing of a layer bearing heterogeneous degree-distribution with another layer bearing homogeneous degree-distribution, which induces a first-order (ES) transition in the heterogeneous layer which was incapable of showing the same in the isolation. Further, we report that such induced ES transition in the heterogeneous layer of multiplex networks can be controlled by varying inter and intra-layer coupling strengths. Our findings emphasize on importance of multiplexing or impact of one layer on dynamical evolution of other layers of systems having inherent multiplex or multilevel architecture.Comment: 7 pages, 10 figure

    Abstracting object interactions using composition filters

    Get PDF
    It is generally claimed that object-based models are very suitable for building distributed system architectures since object interactions follow the client-server model. To cope with the complexity of today's distributed systems, however, we think that high-level linguistic mechanisms are needed to effectively structure, abstract and reuse object interactions. For example, the conventional object-oriented model does not provide high-level language mechanisms to model layered system architectures. Moreover, we consider the message passing model of the conventional object-oriented model as being too low-level because it can only specify object interactions that involve two partner objects at a time and its semantics cannot be extended easily. This paper introduces Abstract Communication Types (ACTs), which are objects that abstract interactions among objects. ACTs make it easier to model layered communication architectures, to enforce the invariant behavior among objects, to reduce the complexity of programs by hiding the interaction details in separate modules and to improve reusability through the application of object-oriented principles to ACT classes. We illustrate the concept of ACTs using the composition filters model
    • …
    corecore