35 research outputs found
HELIX-RC
Data dependences in sequential programs limit parallelization because extracted threads cannot run independently. Although thread-level speculation can avoid the need for precise dependence analysis, communication overheads required to synchronize actual dependences counteract the benefits of parallelization. To address these challenges, we propose a lightweight architectural enhancement co-designed with a parallelizing compiler, which together can decouple communication from thread execution. Simulations of these approaches, applied to a processor with 16 Intel Atom-like cores, show an average of 6.85x performance speedup for six SPEC CINT2000 benchmarksThis work was possible thanks to the sponsorship of the Royal
Academy of Engineering, EPSRC and the National Science
Foundation (award number IIS-0926148).This is the accepted manuscript. The final version is available from IEEE and ACM at http://dl.acm.org/citation.cfm?doid=2678373.2665705
Optimal Design of Wireless Sensor Networks
Since their introduction,Wireless SensorNetworks(WSN) have been proposed as a powerful support for environment monitoring, ranging from monitoring of remote or hard-to-reach locations to fine-grained control of cultivations. Development
of a WSN-based application is a complex task and challenging issues must be tackled starting from the first phases of the design cycle.We present here a tool supporting the DSE phase to perform architectural choices for the nodes and network
topology, taking into account target performance goals and estimated costs. When designing applications based onWSN, the most challenging problem is energy shortage.
Nodes are normally supplied through batteries, hence a limited amount of energy is available and no breakthroughs are foreseen in a near future. In our design cycle we approach this issue through a methodology that allows analysing and optimising
the power performances in a hierarchical fashion, encompassing various abstraction levels
Guess & Sketch: Language Model Guided Transpilation
Maintaining legacy software requires many software and systems engineering
hours. Assembly code programs, which demand low-level control over the computer
machine state and have no variable names, are particularly difficult for humans
to analyze. Existing conventional program translators guarantee correctness,
but are hand-engineered for the source and target programming languages in
question. Learned transpilation, i.e. automatic translation of code, offers an
alternative to manual re-writing and engineering efforts. Automated symbolic
program translation approaches guarantee correctness but struggle to scale to
longer programs due to the exponentially large search space. Their rigid
rule-based systems also limit their expressivity, so they can only reason about
a reduced space of programs. Probabilistic neural language models (LMs) produce
plausible outputs for every input, but do so at the cost of guaranteed
correctness. In this work, we leverage the strengths of LMs and symbolic
solvers in a neurosymbolic approach to learned transpilation for assembly code.
Assembly code is an appropriate setting for a neurosymbolic approach, since
assembly code can be divided into shorter non-branching basic blocks amenable
to the use of symbolic methods. Guess & Sketch extracts alignment and
confidence information from features of the LM then passes it to a symbolic
solver to resolve semantic equivalence of the transpilation input and output.
We test Guess & Sketch on three different test sets of assembly transpilation
tasks, varying in difficulty, and show that it successfully transpiles 57.6%
more examples than GPT-4 and 39.6% more examples than an engineered transpiler.
We also share a training and evaluation dataset for this task
Recommended from our members
HELIX: Automatic Parallelization of Irregular Programs for Chip Multiprocessing.
We describe and evaluate HELIX, a new technique for automatic loop parallelization that assigns successive iterations of a loop to separate threads. We show that the inter-thread communication costs forced by loop-carried data dependences can be mitigated by code optimization, by using an effective heuristic for selecting loops to parallelize, and by using helper threads to prefetch synchronization signals. We have implemented HELIX as part of an optimizing compiler framework that automatically selects and parallelizes loops from general sequential programs. The framework uses an analytical model of loop speedups, combined with profile data, to choose loops to parallelize. On a six-core Intel® Core i7-980X, HELIX achieves speedups averaging 2.25 x, with a maximum of 4.12x, for thirteen C benchmarks from SPEC CPU2000.Engineering and Applied Science
Multi-level Design and Optimization of Wireless Sensor Networks
This paper proposes a methodology to off-line planning of WSNs (wireless sensor networks) by addressing the problem in a multi-layer manner. At the sensor level a model is described to properly select and distribute the sensors in the environment. To optimize the cost and deployment of realistic WSNs, further design activities are proposed at an intermediate level, targeting board-level clustering of sensors. Finally, it is presented a methodology to hierarchically organize the set of sensors in patches with an additional gateway-level communication layer, to take into account also possible scaling of the application complexity. Particular emphasis is put on the cost modeling and on ensuring the correct behavior of the WSN against variation of parameters like sensor position, protocol, cost, etc
SWORDFISH: A Framework to Formally Design WSNs Capturing Events
A Wireless Sensor Network (WSN) consists of spatially distributed autonomous devices equipped with sensors and radio communication capabilities. They can act in a cooperative manner for monitoring environmental parameters like pressure, temperature, acceleration, light, humidity, etc. The typical WSN design problem is to discover a proper set of sensors and their spatial distribution, so to enable the monitoring of relevant parameters for the application, while concurrently optimizing some design goals (e.g., cost, reliability, lifetime and energy requirements). In this paper we present part of the SWORDFISH (Sensor netWORks Development Framework Integrating Simulation and Hardware optimization) project, aiming at providing a design and verification environment for WSNs, including in the design loop the simulation of physical events and a formal verification of the WSN desired properties against the network optimization goals. In particular, it is presented the overall design framework, the approach to model properties and goals of the network and some representative case studies showing the value of a toolsuite gathering WSN formal optimization/planning and environment simulation