For program analysis of java in software engineering, control-flow, data dependence, control dependence, and method call relationships are often required. Existing tools provide features to extract the required inform...
详细信息
For program analysis of java in software engineering, control-flow, data dependence, control dependence, and method call relationships are often required. Existing tools provide features to extract the required information, however, it is difficult to use the tools for users who are unfamiliar with algorithms for program analysis. SOBA (Simple Objects for Bytecode Analysis) is a class library that is easy to use without detailed knowledge of program analysis. This paper introduces main features, design policy, and example programs of SOBA.
Safety is the main concern for RTOSes. Choosing a good programminglanguage can significantly improve the safety of the RTOSes. In this paper, we investigate the advantages and disadvantages of developing RTOSes in Ja...
详细信息
Big data processing is no longer restricted to specially-trained engineers. Instead, domain experts, data scientists and data users all want to benefit from applying data mining and machine learning algorithms at scal...
详细信息
ISBN:
(纸本)9781509020218
Big data processing is no longer restricted to specially-trained engineers. Instead, domain experts, data scientists and data users all want to benefit from applying data mining and machine learning algorithms at scale. A considerable obstacle towards this "democratisation of big data" are programming models: current scalable big data processing platforms such as Spark, Naiad and Flink require users to learn custom functional or declarative programming models, which differ fundamentally from popular languages such as java, Matlab, Python or C++. An open challenge is how to provide a big data programming model for users that are not familiar with functional programming, while maintaining performance, scalability and fault tolerance. We describe java2SDG, a compiler that translates annotated java programs to stateful dataflow graphs (SDGs) that can execute on a compute cluster in a data-parallel and fault-tolerant fashion. Compared to existing distributed dataflow models, a distinguishing feature of SDGs is that their computational tasks can access distributed mutable state, thus allowing SDGs to capture the semantics of stateful java programs. As part of the demonstration, we provide examples of machine learning programs in java, including collaborative filtering and logistic regression, and we explain how they are translated to SDGs and executed on a large set of machines.
Improving spatial locality has a great impact on improving cache performance by reducing the number of cache misses. Object model optimization is one way to improve the locality of references inside particular objects...
详细信息
ISBN:
(纸本)9781467387224
Improving spatial locality has a great impact on improving cache performance by reducing the number of cache misses. Object model optimization is one way to improve the locality of references inside particular objects. This paper extends the object layout optimization study by focusing on the internal layout of java objects in applications running on the java Virtual Machine (JVM). In this research, the IBM JVM is modified to be able to organize fields inside java objects based on their access frequency and access order. Our results show reductions in the number of cache misses in the 20% range and an almost 40% speed up in some benchmarks.
Packed objects are an experimental feature in the IBM J9 Virtual Machine. Packed objects can be used to gain greater control over the layout of objects in memory and greater flexibility of memory structures that are n...
详细信息
ISBN:
(纸本)9781467387224
Packed objects are an experimental feature in the IBM J9 Virtual Machine. Packed objects can be used to gain greater control over the layout of objects in memory and greater flexibility of memory structures that are not in java code, to reduce the amount of memory required to store objects, and to increase the efficiency of caching. If the application is accessing a significant amount of native data using JNI method calls, then the use of packed objects will eliminate marshalling/unmarshalling of native data into java objects and thus eliminate redundant data copying. The purpose of developing this profiling tool is to assist software developers in determining how much memory can be saved if they switch to packed objects from standard java objects. The correctness and usefulness of the profiling tool is evaluated by running several test programs. Based on the results, the programs were modified to use packed objects instead of standard java objects and the reduction in memory consumption was measured.
Humans possess a large amount of, and almost limitless, visual memory, that assists them to remember pictures far better than words. This phenomenon has recently motivated the computer security researchers' in aca...
详细信息
ISBN:
(纸本)9781467396103
Humans possess a large amount of, and almost limitless, visual memory, that assists them to remember pictures far better than words. This phenomenon has recently motivated the computer security researchers' in academia and industry to design and develop graphical user identification systems (GUISs). Cognometric GUISs are more memorable than drawmetric GUISs, but takes more time to authenticate. None of the previously proposed GUISs combines the advantages of both cognometric and drawmetric systems. A signature personify a person and a graphical signature is easier to recall than other drawings. This paper proposes a new graphical Signature-based User Identification System named SUIS. It is based on a 2D grid technology, that is used to draw, digitize and store the signature for user identification. SUIS is categorized as both a cognometric and drawmetric system. Unlike other systems that use 2D grid: We take one cell in a grid as one pixel in the drawing; for signature matching, the signature drawn has to follow the same grid cells as the signature stored, independent of the sequence; and that the system is not based on any machine learning model. Increasing the number of grid cells increases the password space, and decreasing the size of the grid cell increases the precision of the signature. These characteristics makes SUIS: (1) Rigorous enough to be a password system, but easy enough to be usable. (2) Independent of the language and device used to draw the signature. (3) Efficient and practical to be used for online authentication systems. Currently we are developing a prototype tool in java to implement SUIS and will carry out a study with a large number of participants to evaluate the validity of SUIS.
We propose JAS, a JVM-based active storage framework for object-based storage systems. JAS programs the active storage functions of users as java codes, and allows them to be executed on different OSD platforms (Opera...
详细信息
In real time market operations, operators need to monitor available on-line capacity and evaluate whether online resources and upcoming commitment can meet both energy balance and reserve requirement in the near futur...
详细信息
ISBN:
(纸本)9781509041695
In real time market operations, operators need to monitor available on-line capacity and evaluate whether online resources and upcoming commitment can meet both energy balance and reserve requirement in the near future. However, available online generation capacity may not always be deliverable due to transmission congestion. This paper proposed a deliverable generation capacity calculation formulation considering transmission constraints. A web-based generation capacity monitoring tool is developed to provide operators a quick estimate of maximum available capacity with consideration of deliverability and ramping capability. Numerical results on Midcontinent Independent System Operator (MISO) system are studied and analyzed in this paper as well.
One approach to decrease the gap between memory latency and processor speed is improving locality of data. Data layout optimization is a way to increase locality by reordering data elements in memory. Unfortunately, f...
详细信息
ISBN:
(纸本)9781467387224
One approach to decrease the gap between memory latency and processor speed is improving locality of data. Data layout optimization is a way to increase locality by reordering data elements in memory. Unfortunately, for multi-threaded applications, the issue is more complex due to the effects of false sharing. In this paper, the effect of locality and false sharing on multi-threaded applications is investigated. Therefore, fields are reordered inside java objects in such a way that improves the locality of reference among them and also decreases the estimated probability of false sharing. Considering the role of the JVM in laying out java objects fields, IBM's JVM is modified with the ability to reorganize fields based on the profiled information.
We propose three cache-efficient algorithms, ByRow, ByRowSegment and ByBox, for RNA folding using Nussinov's dynamic programming equations [1]. These algorithms, along with the cache-efficient Transpose algorithm ...
详细信息
ISBN:
(纸本)9781509042005
We propose three cache-efficient algorithms, ByRow, ByRowSegment and ByBox, for RNA folding using Nussinov's dynamic programming equations [1]. These algorithms, along with the cache-efficient Transpose algorithm of Li et al [2]. and the Classical algorithm of Nussinov are analyzed using a simple LRU cache model. For this model, Classical has the highest number of cache misses followed by Transpose, ByRow, ByRowSegment, and ByBox (in this order). Extensive experiments conducted on a single core of a Xeon E5 server, using two programminglanguages-C and java-show that cache efficiency translates into time and energy efficiency. For example, our benchmarking shows that, when the algorithms are programmed in C, our ByBox algorithm reduces run time by as much as 91∶3% and energy consumption by as much as 90∶8% relative to Classical and by as much as 56∶3% and 57∶9%, respectively, relative to Transpose. In the java programming language, ByBox takes up to 88∶9% less time than Classical and up to 74∶9% less than Transpose. Also, using the same amount of memory, the algorithms proposed by us can solve problems up to 40% larger than those solvable by Transpose.
暂无评论