Representative workloads and principled methodologies are the foundation of performance analysis, which in turn provides the empirical grounding for much of the innovation in systems research. However, benchmarks are ...
详细信息
ISBN:
(纸本)9798400706981
Representative workloads and principled methodologies are the foundation of performance analysis, which in turn provides the empirical grounding for much of the innovation in systems research. However, benchmarks are hard to maintain, methodologies are hard to develop, and our field moves fast. The tension between our fast-moving fields and their need to maintain their methodological foundations is a serious challenge. This paper explores that challenge through the lens of java performance analysis. Lessons we draw extend to other languages and other fields of computer science. In this paper we: i) introduce a complete overhaul of the DaCapo benchmark suite [6], characterizing 22 new and/or refreshed workloads across 47 dimensions, using principal components analysis to demonstrate their diversity, ii) demonstrate new methodologies and how they are integrated into an easy to use framework, iii) use this framework to conduct an analysis of the state of the art in production java performance, and iv) motivate the need to invest in renewed methodologies and workloads, using as an example a review of contemporary production garbage collector performance. We highlight the danger of allowing methodologies to lag innovation and respond with a suite and new methodologies that nudge forward some of our field's methodological foundations. We offer guidance on maintaining the empirical rigor we need to encourage profitable research directions and quickly identify unprofitable ones.
Type parametrization is an essential construct in modern programming languages. On one hand, java offers generics, on the other hand, C++ provides templates for highly reusable code. The mechanism between these constr...
详细信息
Type parametrization is an essential construct in modern programming languages. On one hand, java offers generics, on the other hand, C++ provides templates for highly reusable code. The mechanism between these constructs differs and affects usage and runtime performance, as well. java uses type erasure, C++ deals with instantiations. In this paper, we argue for an approach in java which is similar to C++ template construct. We evaluate the runtime performance of instantiated code and we present our tool which is able to use java generics as templates. This tool generates java source code. We present how this approach improves the usage of java generics.
The Black-winged Myna (Acridotheres melanopterus) is an Endangered passerine endemic to the islands of java and Bali, Indonesia. Illegal trapping to supply the cage-bird trade has led to its near-total extinction, wit...
详细信息
The Black-winged Myna (Acridotheres melanopterus) is an Endangered passerine endemic to the islands of java and Bali, Indonesia. Illegal trapping to supply the cage-bird trade has led to its near-total extinction, with the global population estimated to number fewer than 100 individuals. We estimated the current range and population size of the species at Baluran National Park, which supports java's last known population, and used species distribution modeling to evaluate potential suitability of currently unoccupied areas across the park to identify priorities for management intervention. We estimate that the Black-winged Myna population numbers 179 individuals (95% CI: 111-288;density: 14.3 +/- 3.5 individuals km(2)) and that its current range is 12.3 km'. Our model indicated that some 72 km(2) of the park (30% of total area) has potentially suitable habitat for the species, and we infer that the principal cause for the disparity between its current and potential range is trapping, compounded by savanna loss and degradation due to illegal domestic cattle grazing and the spread of invasive thorny acacia (Vachellia nilotica). The partial clearance of acacia in recent years appears to have assisted a modest population recovery by the myna. Its further population growth and range expansion in Baluran will depend on effective management of illegal poaching, further clearance of acacia, and easing domestic cattle grazing pressure on areas of savanna, particularly through engagement with communities living inside the park. Any actions that increase the size of the Black-winged Myna population are likely to benefit other threatened savanna-dependent wildlife in the park, notably banteng (Bos javanicus) and Green Peafowl (Pavo muticus). While our models and recommendations may be applicable to other protected areas in java, and indeed other threatened myna species, trapping and habitat change may have site-specific dimensions, especially outside of protected areas, and thu
Due to non-deterministic behavior and thread interleaving of concurrent programs, the debugging of concurrency and performance issues is a rather difficult and often tedious task. In this paper, we present an approach...
详细信息
Due to non-deterministic behavior and thread interleaving of concurrent programs, the debugging of concurrency and performance issues is a rather difficult and often tedious task. In this paper, we present an approach that combines statistical profiling, clustering and visualization to facilitate this task. We implemented our approach in a tool which is integrated as a plugin into a widely used IDE. First, we introduce our approach with details on the profiling and clustering strategy that produce runtime metrics and clusters of threads for source-code artifacts at different levels of abstraction (class and method) and the entire program. Next, we explain the design of our visualization which represents the clusters in situ, i.e., embedded in the program text next to the related source-code artifact in the source-code editor. More detailed information is available in separate windows that also allow the user to configure thread filters interactively. In a demonstration study, we illustrate the usefulness of the tool for understanding and fixing performance and concurrency issues. Finally, we report on first formative results from a usability test and consequently implemented tool improvements.
Proteins play an essential role in the functioning of living organisms. The enormity of the atomic interactions in proteins is essential in controlling their spatial structures and dynamics. It can also provide scient...
详细信息
Proteins play an essential role in the functioning of living organisms. The enormity of the atomic interactions in proteins is essential in controlling their spatial structures and dynamics. It can also provide scientists with valuable information that help to determine the native structures of *** paper presents the PIF (Protein Interaction Finder) library for the java language, enabling the identification of selected atomic interactions (hydrogen and disulfide bonds, ionic, hydrophobic, aromatic-aromatic, sulfuraromatic, and amino-aromatic interactions) based on the three-dimensional structure of proteins. The interaction calculation rules applied in PIF rely on documented theoretical foundations gathered from experimental studies of interactions in native protein structures. The library has a universal purpose, supporting drug discovery and development processes and protein structure modeling. Finding the atomic interactions can also deliver numerical features for various Artificial Intelligence (AI) models built for protein *** conducted research comparing the results obtained with the use of the PIF library and competing tools has shown that our solution can effectively determine the interactions occurring in protein structures for entire collections of proteins. Moreover, as a solution that provides a programming interface, the PIF library can be used in any java project, making it a universal tool.
Molybdenum isotope is a diagnostic tracer for crustal and mantle components in arc magmatism. However, the mechanism of Mo isotopic variation in arc magmas is still debated, e.g., input of different subduction compone...
详细信息
Molybdenum isotope is a diagnostic tracer for crustal and mantle components in arc magmatism. However, the mechanism of Mo isotopic variation in arc magmas is still debated, e.g., input of different subduction components into the mantle wedge versus isotopic fractionation during dehydration of subducted slab. Here we present whole-rock Mo-Sr-Nd-Hf-Pb isotopic data for the Continental Arc Basalt (CAB) and Back Arc Basalt (BAB) from java, Indonesia, to investigate the role of slab inputs in Mo isotopic variation of the Sunda arc magmatism. The CAB samples have variable K2O contents (0.44-2.49 wt%) and are mainly classified as calc-alkaline series, while the BAB samples are shoshonitic with markedly high K2O contents (2.12-6.90 wt%) relative to the CABs. The java CABs and BABs have similar Mo isotopic compositions (d98/95Mo =-0.65 to-0.07% and-0.66 to-0.07%, respectively, relative to NIST SRM3134), suggesting that such a sig-nificant Mo isotopic variation should not be caused solely by the isotopic fractionation during the subduction. Instead, d98/95Mo values of the java basalts positively correlate with Pb isotopic ratios. This implies that the Mo isotopic variations in the java arc rocks should result from the metasomatism in the mantle wedge by hybrid agents, including varying propor-tions of melts from subducted sediments (with heavy Mo isotope) and melts from the subducted altered upper oceanic crust (SAOC) (with light Mo isotope). The light Mo isotope of the java arc rocks, compared with the Mariana arc basalts, suggests that melts from the SAOC have much lighter Mo isotopic compositions than the components from the lower oceanic crust. Thus, Mo isotope has great potential to distinguish the components from the subducted upper and lower oceanic crust. The java CABs show along-arc variations in Mo-Sr-Nd-Hf-Pb isotopes, which is related closely with the thermal status of the subducted slab. Upwelling of the asthenosphere due to the slab tearing beneath the java arc
An increase in ICT devices and services has led to a rise in carbon emissions. As a result, there is a growing demand for energy-efficient software;however, this demand remains unmet due to the lack of knowledge regar...
详细信息
ISBN:
(纸本)9798331505295;9798331505288
An increase in ICT devices and services has led to a rise in carbon emissions. As a result, there is a growing demand for energy-efficient software;however, this demand remains unmet due to the lack of knowledge regarding the best practices for reducing energy consumption in software. Unnecessary iterations and faulty looping conditions in different loops can consume high energy, and loops are considered as one of the most energy consuming entities. The purpose of this study is to detect and rectify energy code smells in different java loop types by implementing static code analysis. Using the DSR approach, a java Maven custom SonarQube plugin, GreenForLoops, was developed. The plugin underwent in-house testing as well as evaluation by professionals front industry. The professionals had provided feedback, which were later analyzed by using a qualitative method. For internal testing, 16 different open-source java projects were selected. The results demonstrated considerable variations in the prevalence of energy code smells across the projects. Additionally, the plugin provided sample code suggestions to address each identified energy code smell. Finally, based on professional reviews, the plugin received an overall rating of Very Good. In conclusion, the plugin had successfully detected code smells and suggested code samples to rectify the detected code smells. However, it cannot be overlooked that the plugin may also generate false positives.
Incidents like xz and SolarWinds have led to an increased focus on software supply chain security. A particular concern is the detection and prevention of compromised builds. A common approach is to independently re-b...
详细信息
ISBN:
(纸本)9798400712401
Incidents like xz and SolarWinds have led to an increased focus on software supply chain security. A particular concern is the detection and prevention of compromised builds. A common approach is to independently re-build projects, and compare the results. This leads to the availability of different binaries built from the same sources, and raises the question of how to compare the respective binaries (to confirm the integrity of builds, to detect compromised builds, etc). It is however not clear howto do this: naive bitwise comparison is often too strict, and establishing the behavioural equivalence of two binaries is undecidable. A pragmatic step towards a solution is to provision a benchmark that can be used to test and train equivalence relations. We present such a benchmark for java bytecode, consisting of 622,029 pairs of binaries (compiled java classes) labelled as to whether these classes are equivalent or not. We refer to these pairs as equivalence and non-equivalence oracles, respectively. We derive equivalence oracles from building 56 projects and project versions using 32 dockerised build environments (with different compilers, compiler versions and configurations). Non-equivalence oracles are derived from three different sources: (1) proven breaking API changes, (2) semantic code changes synthesised by means of bytecode mutations, and (3) code changes extracted from vulnerability patches. To illustrate how to use the benchmark, we describe an experiment using two equivalence relations based on locality-sensitive hashing.
Serverless computing, and in particular Function-as-aService (FaaS), is becoming a de-facto standard for coding the modern cloud applications. Users may code their serverless functions to use various cloud managed ser...
详细信息
ISBN:
(纸本)9783031506833;9783031506840
Serverless computing, and in particular Function-as-aService (FaaS), is becoming a de-facto standard for coding the modern cloud applications. Users may code their serverless functions to use various cloud managed services that are supported by different cloud providers. However, such managed cloud services usually increase the code size of the function, which also affects the size of its deployment package due to various package dependencies, especially for java serverless functions. In this paper, we analyze several chained cloud services and how their inclusion affects function's deployment package size. Based on the analysis, we introduce the jPackFaaS model, which estimates deployment package size based on the managed cloud service that the function includes. We evaluated the jPackFaaS model with fifteen serverelss functions that use three managed cloud services (storage, speech2text, and text2speech) of two cloud providers AWS and GCP. Results show that the jPackFaaS model can accurately estimate the deployment package size with minimum measurements, even when a function uses a mixture of managed cloud services from different cloud providers. The jPackFaaS model achieved 98.2% accuracy on average, with linear, instead of exponential number of measurements.
暂无评论