7 research outputs found

    Invalidation-based protocols for replicated datastores

    Get PDF
    Distributed in-memory datastores underpin cloud applications that run within a datacenter and demand high performance, strong consistency, and availability. A key feature of datastores is data replication. The data are replicated across servers because a single server often cannot handle the request load. Replication is also necessary to guarantee that a server or link failure does not render a portion of the dataset inaccessible. A replication protocol is responsible for ensuring strong consistency between the replicas of a datastore, even when faults occur, by determining the actions necessary to access and manipulate the data. Consequently, a replication protocol also drives the datastore's performance. Existing strongly consistent replication protocols deliver fault tolerance but fall short in terms of performance. Meanwhile, the opposite occurs in the world of multiprocessors, where data are replicated across the private caches of different cores. The multiprocessor regime uses invalidations to afford strongly consistent replication with high performance but neglects fault tolerance. Although handling failures in the datacenter is critical for data availability, we observe that the common operation is fault-free and far exceeds the operation during faults. In other words, the common operating environment inside a datacenter closely resembles that of a multiprocessor. Based on this insight, we draw inspiration from the multiprocessor for high-performance, strongly consistent replication in the datacenter. The primary contribution of this thesis is in adapting invalidating protocols to the nuances of replicated datastores, which include skewed data accesses, fault tolerance, and distributed transactions

    Invalidate or Update? Revisiting Coherence for Tomorrow’s Cache Hierarchies

    Get PDF

    Zeus:Locality-aware distributed transactions

    Get PDF
    State-of-the-art distributed in-memory datastores (FaRM, FaSST, DrTM) provide strongly-consistent distributed transactions with high performance and availability. Transactions in those systems are fully general; they can atomically manipulate any set of objects in the store, regardless of their location. To achieve this, these systems use complex distributed transactional protocols. Meanwhile, many workloads have a high degree of locality. For such workloads, distributed transactions are an overkill as most operations only access objects located on the same server – if sharded appropriately.In this paper, we show that for these workloads, a single-node transactional protocol combined with dynamic object re-sharding and asynchronously pipelined replication can provide the same level of generality with better performance, simpler protocols, and lower developer effort. We present Zeus, an in-memory distributed datastore that provides general transactions by acquiring all objects involved in the transaction to the same server and executing a single-node transaction on them. Zeus is fault-tolerant and strongly-consistent. At the heart of Zeus is a reliable dynamic object sharding protocol that can move 250K objects per second per server, allowing Zeus to process millions of transactions per second and outperform more traditional distributed transactions on a wide range of workloads that exhibit locality

    The Vertical Olive Crushing Mill as a Machine and its Energy Balance - A Preliminary Approach

    No full text
    The vertical crushing mill turns the olives into pulp by combining the rotational and rolling motion of a heavy upright stone wheel that moves with continuous contact along a circular horizontal trajectory on a stationary base which forms the system's frame of reference. It was devised during the Hellenistic period and served as one of the most important  and impressive means of production in the pre-industrial olive mills of Crete and the Mediterranean in general, until more advanced mill types gradually started replacing it from the mid-19th century onwards. Although there is a rich bibliography historically and from a technical point of view, there seems to be a relative knowledge gap from the aspect of the physical quantities that regulate its movement and affect its productive capacity. The paper examines this type of mill from the aspect of a complete machine, according to the ideas of F. Rouleaux (1875), whose approach is still regarded to be fundamental in the field of kinematic analysis and machine theory in general. The use of animal power is considered indifferent to this theory. A generic kinematic diagram for this specific mill type was composed, according to the rules of modern mechanical analysis. The diagram describes the kinematic pairs and defines its degrees of kinematic freedom. On the other hand, by examining the mill's actual function, the specific forms of energy involved in its operation were determined. The energy balance and mechanical efficiency of the mill were expressed as a factor of these energy forms. Also, by making use of a few but essential data, there was an attempt to estimate roughly the productive capacity of this type of mill. Although it can only be tested by experiment, it is suggested that this subtype of mola olearia was a machine with relatively high mechanical efficiency but very low productive capacity per time unit, mainly because of its underdeveloped feed mechanism
    corecore