Software instrumentation is an important aspect of software-intensive distributedreal-time and embedded (DRE) systems because it enables real-time feedback of system properties, such as resource usage and component s...
详细信息
ISBN:
(纸本)9781479921133
Software instrumentation is an important aspect of software-intensive distributedreal-time and embedded (DRE) systems because it enables real-time feedback of system properties, such as resource usage and component state, for performance analysis. Although it is critical not to collect too much instrumentation data to ensure minimal impact on the DRE system's existing performance properties, the design and implementation of software instrumentation middleware can impact how much instrumentation data can be collected. This can indirectly impact the DRE system's existing properties and performance analysis, and is more of a concern when using general-purpose software instrumentation middleware for DRE systems. This paper provides two contributions to instrumenting software-intensive DRE systems. First, it presents two techniques named the Standard Flat-rate Envelope and Pay-per-use for improving the performance of software instrumentation middleware for DRE systems. Secondly, it quantitatively evaluates performance gains realized by the two techniques in the context the Open-source Architecture for Software Instrumentation of Systems (OASIS), which is open-source dynamic instrumentation middleware for DRE systems. Our results show that the Standard Flat-rate Envelope improves performance up to 57% and the Pay-per-use improves performance up to 49%.
Public transport systems already encounter vast amounts of data per day, ranging from the GPS information of vehicles to sensor checks on real-time locations. Newer technologies such as social media, sensor networks o...
详细信息
Public transport systems already encounter vast amounts of data per day, ranging from the GPS information of vehicles to sensor checks on real-time locations. Newer technologies such as social media, sensor networks or passenger counting systems, to name just a few, present new opportunities as well as new challenges to accommodate even larger data volumes, essentially leading to a big data problem in the context of real-timedistributed transport systems. We argue that contemporary models for such systems are inadequate or less than adequate in meeting these new challenges. In this paper we present a new cloud-based model for integrated, distributed public transport systems to enable greater flexibility, portability, and interoperability for different controllers and sensors. Our model is called MOVIE, an acronym for "Model Operations View Intelligence Events". The proposed MOVIE model describes an event controlled system which incorporates the cloud and various messaging protocols in order to provide a safe and secure way of communication between the users, sensors and the multimodal transportation network. We describe our new model in some detail and then present a simulation of a passenger counting system to deliver up to the minute information for passengers, to enable them to make more informed choices about their travel options. With the emergence of social media, public transport patrons may connect with transport systems in cities to receive and provide updates of the status of the traffic at that time.
In this paper, we extend traditional response time analysis to a functional data flow graph (functional graph for brevity) mapped into a set of tasks. Different tasks synchronization semantics can be considered, depen...
详细信息
In this paper, we extend traditional response time analysis to a functional data flow graph (functional graph for brevity) mapped into a set of tasks. Different tasks synchronization semantics can be considered, depending on the way tasks synchronize on inputs consumed and outputs produced by functions in the functional graph. We study three different synchronization semantics and we give the appropriate response time analysis for functional graphs mapped into a set of preemptible fixed-priority tasks distributed over a priority-based network. Our response time analysis extension is needed to integrate response time constraints in an automatic approach for tasks synthesis. In this paper, for each semantics, the corresponding analysis is integrated in a tasks synthesis approach based on mathematical programming. Each semantics is evaluated against the minimum response time that can be obtained running task synthesis over a set of synthetic functional graphs. Finally, different sematics are considered and evaluated for an automotive case study.
Modern genotyping technologies are able to obtain up to a few million genetic markers (such as SNPs) of an individual within a few minutes of time. Detecting epistasis, such as SNP-SNP interactions, in Genome-Wide Ass...
详细信息
Modern genotyping technologies are able to obtain up to a few million genetic markers (such as SNPs) of an individual within a few minutes of time. Detecting epistasis, such as SNP-SNP interactions, in Genome-Wide Association Studies is an important but time-consuming operation since statistical computations have to be performed for each pair of measured markers. Therefore, a variety of HPC architectures have been used to accelerate these studies. In this work we present a parallel approach for multi-core clusters, which is implemented with UPC++ and takes advantage of the features available in the Partitioned Global Address Space and objectoriented Programming models. Our solution is based on a well-known regression model (used by the popular BOOST tool) to test SNP-pairs interactions. Experimental results show that UPC++ is suitable for parallelizing data-intensive bioinformatics applications on clusters. For instance, it reduces the time to analyze a real-world dataset with more than 500,000 SNPs and 5,000 individuals from several days when using a single core to less than one minute using 512 nodes (12,288 cores) of a Cray XC30 supercomputer.
Most high-performance data processing (aka big-data) systems allow users to express their computation using abstractions (like map-reduce) that simplify the extraction of parallelism from applications. Most frameworks...
详细信息
Most high-performance data processing (aka big-data) systems allow users to express their computation using abstractions (like map-reduce) that simplify the extraction of parallelism from applications. Most frameworks, however, do not allow users to specify how communication must take place: that element is deeply embedded into the run-time system (RTS), making changes hard to implement. In this work we describe our reengineering of the Watershed system, a framework based on the filter-stream paradigm and focused on continuous stream processing. Like other big-data environments, watershed provided object-oriented abstractions to express computation (filters), but the implementation of streams was an RTS element. By isolating stream functionality into appropriate classes, combination of communication patterns and reuse of common message handling functions (like compression and blocking) become possible. The new architecture even allow the design of new communication patterns, for example, allowing users to choose MPI, TCP or shared memory implementations of communication channels as their problem demand. Applications designed for the new interface showed reductions in code size on the order of 50%and above in some cases, with no significant performance penalty.
Many big data applications receive and process data in realtime. These data, also known as data streams, are generated continuously and processed online in a low latency manner. Data stream is prone to change dramati...
详细信息
Many big data applications receive and process data in realtime. These data, also known as data streams, are generated continuously and processed online in a low latency manner. Data stream is prone to change dramatically in volume, since its workload may have a variation of several orders between peak and valley periods. Fully provisioning resources for stream processing to handle the peak load is costly, while over-provisioning is wasteful when to deal with lightweight workload. Cloud computing emphasizes that resource should be utilized economically and elastically. An open question is how to allocate query task adaptively to keeping up the input rate of the data stream. Previous work focuses on using either local or global capacity information to improve the cluster CPU resource utilization, while the bandwidth utilization which is also critical to the system throughput is ignored or simplified. In this paper, we formalize the operator placement problem considering both the CPU and bandwidth usage, and introduce the Elastic Allocator. The Elastic Allocator uses a quantitative method to evaluate a node's capacity and bandwidth usage, and exploit both the local and global resource information to allocate the query task in a graceful manner to achieve high resource utilization. The experimental results and a simple prototype built on top of Storm finally demonstrate that Elastic Allocator is adaptive and feasible in cloud computing environment, and has an advantage of improving and balancing system resource utilization.
Conventional cache memories act to bridge the gap in speeds between the processor and main memory. However, typical cache memories do not take into account of the specific characteristics of objects-oriented programs....
详细信息
The development of distributed systems is an intricate task due to inherent characteristics of such systems. In this paper these characteristics are categorised into software engineering, concurrency, distribution and...
详细信息
The development of distributed systems is an intricate task due to inherent characteristics of such systems. In this paper these characteristics are categorised into software engineering, concurrency, distribution and non-functional criteria. Popular classes of distributed systems are classified with respect to these challenges, and it is deduced that modern technological trends lead to the inception of new application classes with increased demands regarding challenges from more than one area. One recent example is the class of ubiquitous computing, which assumes dynamic scenarios in which devices come and go at any time. Furthermore, it is analysed to which extent today's prevailing software development paradigms - object, component, service and agent orientation - are conceptually capable of supporting the challenges. This comparison reveals that each of the paradigms has its own strengths and weaknesses and none addresses all of the challenges. The new active component approach is proposed aiming at a conceptual integration of the existing paradigms in order to tackle all challenges in an intuitive and unified way. The structure, behaviour and composition of active components are explained, and an infrastructure for active components is introduced. To underline the usefulness of the approach real-world applications is presented and an evaluation according to the challenges is given.
Conventional cache memories act to bridge the gap in speeds between the processor and main memory. However, typical cache memories do not take into account of the specific characteristics of objects-oriented programs....
详细信息
Conventional cache memories act to bridge the gap in speeds between the processor and main memory. However, typical cache memories do not take into account of the specific characteristics of objects-oriented programs. As result it may incur in a performance penalty. In this paper, we discuss how an objects-based cache device can support Java objects. This feature is especially useful in the field of real-time programming, where the determinism for memory cache accesses is a limiting factor. In order to do that, we propose an object layout which splits objects into the same sized blocks; in this way, each cache memory line supports a block. This memory model avoids external fragmentation, while minimizing internal fragmentation.
real-time databases are different from conventional databases in that they have timing constraints on data and on transactions upon the data. The timing constraints of data require that the current status of the real ...
详细信息
real-time databases are different from conventional databases in that they have timing constraints on data and on transactions upon the data. The timing constraints of data require that the current status of the real world must be close enough to the state represented by the contents of the database. The timing constraints of transactions are typically expressed in the form of deadline which indicates a certain time in the future by which a transaction must be completed. Conventional data models can not be directly applied to describe the conceptual data model of a real-time database, since there is no mechanism to deal with the representation of timing constraints. A real-time data model should simultaneously satisfy many goals. It should clearly and concisely provide support for specifying timing constraints on data and transactions, semantics of real-time data and real-time transactions, concurrency control mechanisms, and transactions scheduling policies to meet the timing constraints defined by the real-time applications. This paper presents a real-timeobject-oriented data model and its use in designing real-time extensions to the DB4O database management system. This data model supports expression of time-constrained data, time-constrained transactions, concurrency control mechanisms, and transactions scheduling policies. It also can be integrated easily in existing object-oriented method and permits automatic code generation of all the real-time code of an application.
暂无评论