644 research outputs found
Scalable and Fault-tolerant Stateful Stream Processing.
As users of "big data" applications expect fresh results, we witness a new breed of stream processing systems (SPS) that are designed to scale to large numbers of cloud-hosted machines. Such systems face new challenges: (i) to benefit from the "pay-as-you-go" model of cloud computing, they must scale out on demand, acquiring additional virtual machines (VMs) and parallelising operators when the workload increases; (ii) failures are common with deployments on hundreds of VMsâsystems must be fault-tolerant with fast recovery times, yet low per-machine overheads. An open question is how to achieve these two goals when stream queries include stateful operators, which must be scaled out and recovered without affecting query results. Our key idea is to expose internal operator state explicitly to the SPS through a set of state management primitives. Based on them, we describe an integrated approach for dynamic scale out and recovery of stateful operators. Externalised operator state is checkpointed periodically by the SPS and backed up to upstream VMs. The SPS identifies individual operator bottlenecks and automatically scales them out by allocating new VMs and partitioning the checkpointed state. At any point, failed operators are recovered by restoring checkpointed state on a new VM and replaying unprocessed tuples. We evaluate this approach with the Linear Road Benchmark on the Amazon EC2 cloud platform and show that it can scale automatically to a load factor of L=350 with 50 VMs, while recovering quickly from failures
Recommended from our members
Making State Explicit for Imperative Big Data Processing
Data scientists often implement machine learning algorithms in imperative languages such as Java, Matlab and R. Yet such implementations fail to achieve the performance and scalability of specialised data-parallel processing frameworks. Our goal is to execute imperative Java programs in a data-parallel fashion with high throughput and low latency. This raises two challenges: how to support the arbitrary mutable state of Java programs without compromising scalability, and how to recover that state after failure with low overhead.
Our idea is to infer the dataflow and the types of state accesses from a Java program and use this information to generate a stateful dataflow graph (SDG). By explicitly separating data from mutable state, SDGs have specific features to enable this translation: to ensure scalability, distributed state can be partitioned across nodes if computation can occur entirely in parallel; if this is not possible, partial state gives nodes local instances for independent computation, which are reconciled according to application semantics. For fault tolerance, large inmemory state is checkpointed asynchronously without global coordination. We show that the performance of SDGs for several imperative online applications matches that of existing data-parallel processing frameworks
“Bit Standard”- Bitcoin between reality and risks of a “halfway-money”
This work provides an explanation of the market underlying the evolution due to modern technologies and technical advances, especially in transactions. In this regard, the authors specify the aspect related to the creation of virtual currencies like bitcoin that can circulate thanks to the Blockchain system through miners\u2019 work. The authors consider areas related to the warnings on the use and exchange of virtual currencies. The aim is to conceptualize in a graphical way the current operational transaction in bitcoin through the existing exchange platforms. The authors try to attest the fickleness of the disintermediation ideal founding Bitcoin. The analysis purposed could be interesting and useful to provide a kind of interpretation of the phenomenon and a general overview about Bitcoin system
FLICK: developing and running application-specific network services
Data centre networks are increasingly programmable, with application-specific network services proliferating, from custom load-balancers to middleboxes providing caching and aggregation. Developers must currently implement these services using traditional low-level APIs, which neither support natural operations on application data nor provide efficient performance isolation. We describe FLICK, a framework for the programming and execution of application-specific network services on multi-core CPUs. Developers write network services in the FLICK language, which offers high-level processing constructs and application-relevant data types. FLICK programs are translated automatically to efficient, parallel task graphs, implemented in C++ on top of a user-space TCP stack. Task graphs have bounded resource usage at runtime, which means that the graphs of multiple services can execute concurrently without interference using cooperative scheduling. We evaluate FLICK with several services (an HTTP load-balancer, a Memcached router and a Hadoop data aggregator), showing that it achieves good performance while reducing development effort
Application of the penalty coupling method for the analysis of blood vessels
Due to the significant health and economic impact of blood vessel diseases on modern society, its analysis is becoming of increasing importance for the medical sciences. The complexity of the vascular system, its dynamics and material characteristics all make it an ideal candidate for analysis through fluid structure interaction (FSI) simulations. FSI is a relatively new approach in numerical analysis and enables the multi-physical analysis of problems, yielding a higher accuracy of results than could be possible when using a single physics code to analyse the same category of problems. This paper introduces the concepts behind the Arbitrary Lagrangian Eulerian (ALE) formulation using the penalty coupling method. It moves on to present a validation case and compares it to available simulation results from the literature using a different FSI method. Results were found to correspond well to the comparison case as well as basic theory
- âŠ