bluuebunny/crossref_metadata_2025 huggingface dataset:
Serological investigation to identify risk factors for post-flood infectious diseases: a longitudinal survey among people displaced by Typhoon Morakot in Taiwan
Authors: Lin Chun-Yu , Chen Tun-Chieh , Dai Chia-Yen , Yu Ming-Lung , Lu Po-Liang , Yen Jeng-Hsien , Chen Yen-Hsu
Published: May 2015

Objectives

After Typhoon Morakot struck Taiwan in 2009, thousands of Taiwanese citizens were displaced to shelters for several weeks. Others were placed in urban communities where they had family members. This study aimed to investigate serological status in both groups and identify risk factors associated with seroconversion of infectious diseases.

Design

A longitudinal survey.

Setting

All experimental and clinical investigations were performed in a tertiary teaching hospital.

Participants

A total of 288 displaced persons (96 males and 192 females) were recruited and complete follow-up data through two rounds of sampling were collected. The average age was 58.42 years (range 31–87 years).

Interventions

First, serum specimens were collected between December 2009 and January 2010, 4–5 months after the typhoon. The second round of specimen collection was carried out after 6 months.

Primary and secondary outcome measures

The primary outcome measured was serological status of vaccine-preventable droplet-borne infectious diseases (ie, measles, mumps, rubella) and water-borne diseases (ie, amoebiasis and leptospirosis). The secondary outcome was identification of risk factors for seroconversion using univariate and multivariate analyses.

Results

Complete data were available for all 288 displaced persons (114 from the shelter group; 174 from the community group). Seroconversion ofEntamoeba histolyticawas observed in 128 (44.4%) participants, with a significantly higher rate in the shelter group than in the community group (56.1% vs 36.8%; p=0.001). There were 10 cases of rubella seroconversion. After adjusting for medical history, hypertension and hyperlipidaemia, shelter stay was associated with higher risk for seroconversion (OR=2.055, 95% CI 1.251 to 3.374; p=0.004). Amoebiasis was more evident in the shelter group, although the manifestations were mild.

Conclusions

Our results suggested that (1) a clean water supply is essential postdisaster, especially in crowded shelters, and (2) vaccination programmes should be extended to populations at higher risk for post-disaster displacement or to those with weakened immune status.
Evaluation of a tobacco prevention programme among teenagers in Sweden
Authors: Hedman Linnéa , Andersson Martin , Stridsman Caroline , Rönmark Eva
Published: May 2015

Objective

To study the prevalence of tobacco use among teenagers, to evaluate a tobacco prevention programme and to study factors related to participation in the prevention programme.

Design and setting

Population-based prospective cohort study.

Method

Within the Obstructive Lung disease in Northern Sweden (OLIN) studies, a cohort study about asthma in schoolchildren started in 2006. All children aged 7–8 years in three municipalities were invited to a questionnaire survey and 2585 (96%) participated. The cohort was followed up at age 11–12 years (n=2612, 95% of invited) and 14–15 years (n=2345, 88% of invited). In 2010, some of the children in the OLIN cohort (n=447) were invited to a local tobacco prevention programme and 224 (50%) chose to participate.

Results

At the age of 14–15 years, the prevalence of daily smoking was 3.5%. Factors related to smoking were female sex, having a smoking mother, participation in sports and lower parental socioeconomic status (SES). The prevalence of using snus was 3.3% and risk factors were male sex, having a smoking mother, having a snus-using father and non-participation in the prevention programme. In the prevention programme, the prevalence of tobacco use was significantly lower among the participants compared with the controls in the cohort. Factors related to non-participation were male sex, having a smoking mother, lower parental SES and participation in sports.

Conclusions

The prevalence of tobacco use was lower among the participants in the tobacco prevention programme compared with the non-participants as well as with the controls in the cohort. However, the observed benefit of the intervention may be overestimated as participation was biased by selection.
SIMULATION IN SEXUAL HEALTH: USING SIMULATION TO TEACH JUNIOR DOCTORS TECHNICAL AND NON- TECHNICAL SKILLS IN GENITO-URINARY MEDICINE
Authors: Omer Rasha , Campbell Lesley , Swaris Samanthi , Schatzberger Rebecca , Loftus Hannah , Briggs Aparna , Dilke-Wing Gillian
Published: May 2015

Background

In the UK, Clinical simulation is strongly recommended for training in Medicine. In Genito-urinary Medicine, simulation is used for summative assessment for major examination such as Dip GUM and Dip HIV. Unfortunately it's rarely used for training. New Trainees in GUM have very little experience in Sexual Health. A recent in-house survey showed around 85% would have found simulation useful if included in the induction program and would have addressed training needs specific to the speciality.

Methodology

All new trainees will be invited to participate. Faculty will consist of GUM Consultants and Registrars. The course will consist of 2 parts Skills Workshop Using part-task trainers, candidates will rotate through 5 Stations that will include: -Female Pelvis: for speculum insertion, cervical cytology, Microbiology sampling and bimanual examination -Male Pelvis: for examination and sampling techniques -Rectal examination: for proctoscopy and prostate examination -Anatomy of Male and female genital tract using illustrations -Illustrations of Common Dermatological conditions and skin infections and cryotherapy for warts. Scenario-based Simulation: Trainees will participate in simulated communication scenarios.

Objectives:

 1. To demonstrate good listening skills

2. To use simple, clear language when communication with patients

3. To develop understanding of ethics, law and consent.

Results

We anticipate that trainees will have more confidence during clinical consultations and in managing challenging cases.

Conclusions

Better understanding of the team dynamics and nature of work in GUM will improve working relationships which will ultimately result in better patient care.
COGNITIVE OVERLOAD MANAGEMENT: EMPOWERING SIMULATION BASED MEDICAL EDUCATION THROUGH MINDFUL REALITY CHECKS
Authors: Khan Erum
Published: May 2015

Aims

To guide the design of simulation based instructions consistent with the nature of human cognitive architecture.

Background

Cognitive load is the effort required for information handling in the working memory. There is a wealth of research on Human cognition and Instructional science that suggests that effective and efficient instructional strategies should avoid overloading the limited capacity of the working memory; a theory called “Cognitive Load Theory”. The foundational fact of this theory which is critical to any instructional strategy is that beyond a certain limit the cognitive overload starts impairing student learning.

Description of Innovation Topic

At Center for Advanced Simulation in Healthcare, Gulf Medical University; simulation based instructions are designed keeping the human cognition in mind. Appropriately planning, integrating and aligning the clinical content and skills with the level of the learner takes care of the content load (Intrinsic load) while on the other hand constructively designing the simulation session with appropriate use of the simulation fidelity, pre-scenario briefing, simulator and learning environment orientation and debriefing facilitation skills matching the expectation, motivation level and interest of the learners ensures a mindful check on the extraneous and germane load that arises when learners interact with the instructional material.

Conclusions

Simulation Educators should aim to understand the causes of cognitive overload and stress and have strategies to minimize their impact. Keeping a mindful watch out and frequent reality checks on the intrinsic and extrinsic load of the simulation exercises is highly recommended. We recommend the use of pre-session materials and advanced organizers, a comprehensive pre-briefing and debriefing, small peer group frequent simulation exercises with increasing level of challenges.
TUNNEL VISION: HOW GOOD ARE FINAL YEAR MEDICAL STUDENTS IN IDENTIFYING DIFFERENTIAL DIAGNOSIS ON A BUSY WARD ROUND: A SIMULATED WARD ROUND AT THE UNIVERSITY OF EDINBURGH
Authors: Medjoub Karima
Published: May 2015

Background

Aggressive patients can be either distracting to the participants, and often their behaviour can be attributed to personality traits. However, it is common knowledge amongst medical healthcare professionals that it is potentially a symptom of an organic cause. Therefore, in a complex and stressful environment, such as a ward round, how likely is a medical student to identify the potential of a serious illness in an aggressive patient?

Methodology

We ran a simulated ward round at the university of Edinburgh involving final year medical students (n=290). We used five patient scenarios with numerous distractors such as phone calls, being asked to perform other tasks, and requesting investigations, as well as being a part of the ward round. Two of the scenarios used were around one patient with acute pancreatitis and another with sepsis and airway compromise. Both these simulated patients were instructed to be aggressive. We measured the time between the patient expressing symptoms to the time of considering a possible cause of the patient's symptoms, and also the number of prompts from faculty and the patients required to do so.

Results

There were a significant number of missed sessions where the diagnosis was missed die to distractions. The required number of prompts was higher in patients and nurse than those of consultants, reflecting the effect of hierarchy. During the debrief, the importance of understanding and acquisition of non-technical skills are an important factor is diluting distractors and avoid potentially disastrous outcomes were discussed. Work around the subject should be continued in the future as part of the undergraduate curriculum.

Conclusions

Distractors on a busy ward round are to be taken seriously by medical staff. It is crucial to stop, delay or manage the distractors as appropriately to avoid serious mistakes.
CARDIAC ANAESTHESIA SIMULATION TRAINING (CAST)
Authors: Morais Rex
Published: May 2015

Aims

(1) Understand the impact of cardiopulmonary bypass (CPB), (2) Manage complications arising during CPB, Clarify roles of team members, (3) Practice team communication for coordinated patient care.

Background

The cardiac anaesthesia setting is a highly dynamic environment requiring continuous processing of feedback from multiple sources. CAST is a valuable enhancement to prepare and orientate residents to the high risk environment. We report our continuing efforts to develop CAST for our first year anaesthesia residents using a high-fidelity simulator, adapted to simulate the CPB state.

Methodology

The course is led by a multidisciplinary faculty, including surgeons and perfusionists. The simulation scenarios focused on management of complications during CPB, re-warming and weaning from bypass (e.g. arrhythmias, electrolyte abnormalities and protamine reactions). This is followed by facilitated debriefing. Pre-reading, pre-/post-tests and short didactics are also used to augment the learning experience.

Outcomes

To date, 26 residents have undergone CAST, including 2 cardiac surgical residents, who found CAST useful in fostering inter-professional understanding and learning. 92% of the residents scored CAST ‘Excellent or Good’ for clarity of the course objectives, 84% for reinforcing knowledge, and 66.6% for‖improvement of communication. The challenges faced by faculty included getting buy-in from stake-holders from different disciplines, securing protected time for residents and faculty, and developing a comprehensive lesson plan to address different training needs of the multidisciplinary team. Recommendations and take home messages CAST scenarios with varying complexity targeted at training our advanced residents are currently in development. There is also potential to develop a separate course with an emphasis on non-technical skills (e.g. team‖communication) and inter-professional education.
Theoretical investigation of a tunable external cavity diode laser based on a single cavity all-dielectric thin-film Fabry–Perot filter
Authors: Heng Zhao , Xiao Xiao , Bo Li , Jin Wang Wen , Yi Hu , Youqin Wang
Published: May 2015

The single cavity all-dielectric thin film Fabry–Perot filter (s-AFPF) has been theoretically investigated in this paper as a means of tuning the wavelength in an external cavity diode laser (ECDL), and the means of limiting longitudinal mode hopping has been also theoretically investigated. When a TE or TM plane wave irradiates an s-AFPF, a quasi-linear relationship is found in a certain wavelength range between the optical intensity peak transmittance wavelength of s-AFPF and the cosine value of plane wave incident angle at s-AFPF. Based on this feature, we proposed and theoretically investigated an ECDL configuration based on an s-AFPF. By theoretical calculation, the actuator flat edge against the steel ball may be replaced by a bent edge to convert the mode-hop wavelength region into mode-hop-free wavelength region. The ECDL can be used in the application of environmental monitoring, atomic and molecular laser spectroscopy research, precise measurements, and so on.
Power Saving Rx Design for Optical Modules
Authors: Sangirov Jamshid , Ukaegbu Ikechi Augustine , Nguyen Nga T. H. , Lee Tae-Woo , Cho Mu Hee , Park Hyo-Hoon
Published: May 2015

In this paper, a power saving optical receiver (Rx) module has been designed, fabricated using a 0.13-μm CMOS technology and demonstrated the performance with experimental results. In the Rx module, a power control block is designed to control the power of Rx according to the presence or absence of an incoming signal at the input of Rx. The Rx switches to a passive operation mode when there is no signal at Rx input. In the passive operation mode, the fabricated Rx shows a power saving efficiency of about 51%, where Rx is not receiving. When there is an input signal at Rx input, the Rx switches to an active operation mode with a system efficiency of about 97.5%. The experimental data shows that the Rx module consumes of about 67 mW at 1.3 V and power control block consumes of about 1.6 mW at 1.4 V. The measured 3-dB bandwidth of 2.56 GHz was recorded for optical Rx module. The bit error rate (BER) performance of 10−12 is achieved for the proposed optical Rx module up to 2.5 Gbps data rate with a clear eye-diagram by a very low optical input power of about −3 dBm.
On the existence of a strong minimal pair
Authors: Barmpalias George , Cai Mingzhong , Lempp Steffen , Slaman Theodore A.
Published: May 2015

We show that there is a strong minimal pair in the computably enumerable (c.e.) Turing degrees, i.e. a pair of nonzero c.e. degrees a and b such that a∩b = 0 and for any nonzero c.e. degree x ≤ a, b ∪ x ≥ a.
Rock mass parameters based doline susceptibility mapping in gypsum terrain
Authors: Yilmaz Işık , Keskin Inan , Marschalko Marian
Published: May 2015

Rock in nature is observed as a rock mass that is a discontinuous medium with features including joints, faults, fissures, fractures and bedding planes. Interaction of the intact rock blocks with the discontinuities mainly controls the rock mass behaviour under applied stress. Therefore a detailed description of the discontinuities in rocks, their structure and their condition can provide valuable insights into potential rock mass behaviour. Although the rock mass characteristics in terms of discontinuities are very important for the stability of underground openings, they have never been considered as a conditioning factor of doline susceptibility analyses. In this paper, preparation of a doline susceptibility map based on the rock mass parameters is proposed. Three doline susceptibility models (based on conventional affecting factors (geological, hydrological, topographical, land use factors and vegetation cover), rock mass parameters, and both sets of factors combined) were produced and their validation performances and accuracies were compared. According to the comparison of the three models, the most realistic and accurate doline susceptibility model was implemented from the combined parameters. However, the accuracy of the model obtained from the doline susceptibility map based on rock mass parameters was distinctly higher than that of the first model, which is based on conventionally used conditioning factors. Validation analyses of the maps indicated that the method and conditioning factors in terms of rock mass parameters included in the models can be considered as satisfactory. Although a precise map was obtained in this study considering the rock mass parameters, the results of this paper do not claim that the parameters considered are sufficient to construct a precise doline susceptibility map, as there may be other site-specific factors affecting doline occurrence that were not included in the analyses in this study because of the characteristics of the study area. This paper particularly points out that the rock mass parameters must be included in doline susceptibility analyses together with the other factors.
Timescales of degassing and conduit dynamics inferred from
210
Pb–
226
Ra disequilibria in Volcán de Colima 1998–2010 andesitic magmas
Authors: Reubi Olivier , Sims Kenneth W. W. , Varley Nicholas , Reagan Mark , Eikenberg Jost
Published: May 2015

Determining the timescales of magma degassing is essential for understanding the mechanisms controlling the eruption style and the dynamics of magmatic systems. Towards this end, we measured
210
Pb–
226
Ra disequilibria in andesite lavas erupted from Volcán de Colima between 1998 and 2010. (
210
Pb/
226
Ra)
0
activity ratios range from 0.86 to 1.09, and are best explained in terms of
222
Rn degassing and accumulation. The range in
210
Pb deficits indicates that the timescales of
222
Rn degassing did not exceed 11 years.
210
Pb excesses are rare and small (<10%), which signifies that
222
Rn degassing is more effective than
210
Pb accumulation in this intermediate system despite the relatively low gas output at the surface. The absence of significant
210
Pb excesses strongly suggests that the volcanic activity results from episodic ascent of small magma batches through the vapour-saturated section of the magmatic system. Overall, the degassing models based on
210
Pb–
226
Ra disequilibrium suggest an open and complex subvolcanic magmatic system comprising several conduits in which multiple magma batches reside for up to 10 years. Shifts from effusive to explosive Vulcanian eruptive phases are not related to changes in degassing mode on timescales resolvable using
210
Pb–
226
Ra disequilibria.
aToucan
Authors: Yue Tao , Briand Lionel C. , Labiche Yvan
Published: May 2015

The transition from an informal requirements specification in natural language to a structured, precise specification is an important challenge in practice. It is particularly so for object-oriented methods, defined in the context of the OMG's Model Driven Architecture (MDA), where a key step is to transition from a use case model to an analysis model. However, providing automated support for this transition is challenging, mostly because, in practice, requirements are expressed in natural language and are much less structured than other kinds of development artifacts. Such an automated transformation would enable at least the generation of an initial, likely incomplete, analysis model and enable automated traceability from requirements to code, through various intermediate models. In this article, we propose a method and a tool called aToucan, building on existing work, to automatically generate a UML analysis model comprising class, sequence and activity diagrams from a use case model and to automatically establish traceability links between model elements of the use case model and the generated analysis model. Note that our goal is to save effort through automated support, not to replace human abstraction and decision making.

Seven (six) case studies were performed to compare class (sequence) diagrams generated by aToucan to the ones created by experts, Masters students, and trained, fourth-year undergraduate students. Results show that aToucan performs well regarding consistency (e.g., 88% class diagram consistency) and completeness (e.g., 80% class completeness) when comparing generated class diagrams with reference class diagrams created by experts and Masters students. Similarly, sequence diagrams automatically generated by aToucan are highly consistent with the ones devised by experts and are also rather complete, for instance, 91% and 97% message consistency and completeness, respectively. Further, statistical tests show that aToucan significantly outperforms fourth-year engineering students in this respect, thus demonstrating the value of automation. We also conducted two industrial case studies demonstrating the applicability of aToucan in two different industrial domains. Results showed that the vast majority of model elements generated by aToucan are correct and that therefore, in practice, such models would be good initial models to refine and augment so as to converge towards to correct and complete analysis models. A performance analysis shows that the execution time of aToucan (when generating class and sequence diagrams) is dependent on the number of simple sentences contained in the use case model and remains within a range of a few minutes. Five different software system descriptions (18 use cases altogether) were performed to evaluate the generation of activity diagrams. Results show that aToucan can generate 100% complete and correct control flow information of activity diagrams and on average 85% data flAow information completeness. Moreover, we show that aToucan outperforms three commercial tools in terms of activity diagram generation.
Fast Forward Index Methods for Pseudo-Relevance Feedback Retrieval
Authors: Dang Edward Kai FUNG , Luk Robert Wing Pong , Allan James
Published: May 2015

The inverted index is the dominant indexing method in information retrieval systems. It enables fast return of the list of all documents containing a given query term. However, for retrieval schemes involving query expansion, as in pseudo-relevance feedback (PRF), the retrieval time based on an inverted index increases linearly with the number of expansion terms. In this regard, we have examined the use of a
forward index
, which consists of the mapping of each document to its constituent terms. We propose a novel forward index-based reranking scheme to shorten the PRF retrieval time. In our method, a first retrieval of the original query is performed using an inverted index, and then a forward index is employed for the PRF part. We have studied several new forward indexes, including using a novel
spstring
data structure and the weighted variable bit-block compression (wvbc) signature. With modern hardware such as solid-state drives (SSDs) and sufficiently large main memory, forward index methods are particularly promising. We find that with the whole index stored in main memory, PRF retrieval using a spstring or wvbc forward index excels in time efficiency over an inverted index, being able to obtain the same levels of performance measures at shorter times.
Modeling, Enacting, and Integrating Custom Crowdsourcing Processes
Authors: Tranquillini Stefano , Daniel Florian , Kucherbaev Pavel , Casati Fabio
Published: May 2015

Crowdsourcing (CS) is the outsourcing of a unit of work to a crowd of people via an open call for contributions. Thanks to the availability of online CS platforms, such as Amazon Mechanical Turk or CrowdFlower, the practice has experienced a tremendous growth over the past few years and demonstrated its viability in a variety of fields, such as data collection and analysis or human computation. Yet it is also increasingly struggling with the inherent limitations of these platforms: each platform has its own
logic
of how to crowdsource work (e.g., marketplace or contest), there is only very little support for
structured
work (work that requires the coordination of multiple tasks), and it is hard to
integrate
crowdsourced tasks into state-of-the-art business process management (BPM) or information systems.

We attack these three shortcomings by (1) developing a flexible CS platform (we call it
Crowd Computer
, or CC) that allows one to program custom CS logics for individual and structured tasks, (2) devising a BPMN--based modeling language that allows one to program CC intuitively, (3) equipping the language with a dedicated visual editor, and (4) implementing CC on top of standard BPM technology that can easily be integrated into existing software and processes. We demonstrate the effectiveness of the approach with a case study on the crowd-based mining of mashup model patterns.
Contracts for domain-specific languages in Ruby
Authors: Strickland T. Stephen , Ren Brianna M. , Foster Jeffrey S.
Published: May 2015

This paper concerns object-oriented embedded DSLs, which are popular in the Ruby community but have received little attention in the research literature. Ruby DSLs implement language keywords as implicit method calls to self; language structure is enforced by adjusting which object is bound to self in different scopes. While Ruby DSLs are powerful and elegant, they suffer from a lack of specification. In this paper, we introduce contracts for Ruby DSLs, which allow us to attribute blame appropriately when there are inconsistencies between an implementation and client. We formalize Ruby DSL contract checking in DSL, a core calculus that uses premethods with instance evaluation to enforce contracts. We then describe RDL, an implementation of Ruby DSL contracts. Finally, we present two tools that automatically infer RDL contracts: TypeInfer infers simple, type-like contracts based on observed method calls, and DSLInfer infers DSL keyword scopes and nesting by generating and testing candidate DSL usages based on initial examples. The type contracts generated by TypeInfer work well enough, though they are limited in precision by the small number of tests, while DSLInfer finds almost all DSL structure. Our goal is to help users understand a DSL from example programs.
Object versioning to support recovery needs
Authors: Steinert Bastian , Thamsen Lauritz , Felgentreff Tim , Hirschfeld Robert
Published: May 2015

We present object versioning as a generic approach to preserve access to previous development and application states. Version-aware references can manage the modifications made to the target object and record versions as desired. Such references can be provided without modifications to the virtual machine. We used proxies to implement the proposed concepts and demonstrate the Lively Kernel running on top of this object versioning layer. This enables Lively users to undo the effects of direct manipulation and other programming actions.
Dynamic page sharing optimization for the R language
Authors: Kotthaus Helena , Korb Ingo , Engel Michael , Marwedel Peter
Published: May 2015

Dynamic languages such as R are increasingly used to process .large data sets. Here, the R interpreter induces a large memory overhead due to wasteful memory allocation policies. If an application's working set exceeds the available physical memory, the OS starts to swap, resulting in slowdowns of a several orders of magnitude. Thus, memory optimizations for R will be beneficial to many applications.

Existing R optimizations are mostly based on dynamic compilation or native libraries. Both methods are futile when the OS starts to page out memory. So far, only a few, data-type or application specific memory optimizations for R exist. To remedy this situation, we present a low-overhead page sharing approach for R that significantly reduces the interpreter's memory overhead. Concentrating on the most rewarding optimizations avoids the high runtime overhead of existing generic approaches for memory deduplication or compression. In addition, by applying knowledge of interpreter data structures and memory allocation patterns, our approach is not constrained to specific R applications and is transparent to the R interpreter.

Our page sharing optimization enables us to reduce the memory consumption by up to 53.5% with an average of 18.0% for a set of real-world R benchmarks with a runtime overhead of only 5.3% on average. In cases where page I/O can be avoided, significant speedups are achieved.
Abstracting abstract control
Authors: Glaze Dionna , Van Horn David
Published: May 2015

The strength of a dynamic language is also its weakness: run-time flexibility comes at the cost of compile-time predictability. Many of the hallmarks of dynamic languages such as closures, continuations, various forms of reflection, and a lack of static types make many programmers rejoice, while compiler writers, tool developers, and verification engineers lament. The dynamism of these features simply confounds statically reasoning about programs that use them. Consequently, static analyses for dynamic languages are few, far between, and seldom sound.

The "abstracting abstract machines" (AAM) approach to constructing static analyses has recently been proposed as a method to ameliorate the difficulty of designing analyses for such language features. The approach, so called because it derives a function for the sound and computable approximation of program behavior starting from the abstract machine semantics of a language, provides a viable approach to dynamic language analysis since all that is required is a machine description of the interpreter.

The AAM recipe as originally described produces finite state abstractions: the behavior of a program is approximated as a finite state machine. Such a model is inherently imprecise when it comes to reasoning about the control stack of the interpreter: a finite state machine cannot faithfully represent a stack. Recent advances have shown that higher-order programs can be approximated with pushdown systems. However, such models, founded in automata theory, either breakdown or require significant engineering in the face of dynamic language features that inspect or modify the control stack.

In this paper, we tackle the problem of bringing pushdown flow analysis to the domain of dynamic language features. We revise the abstracting abstract machines technique to target the stronger computational model of pushdown systems. In place of automata theory, we use only abstract machines and memoization. As case studies, we show the technique applies to a language with closures, garbage collection, stack-inspection, and first-class composable continuations.
Why do we know so little about programming languages, and what would have happened if we had known more?
Authors: Hanenberg Stefan
Published: May 2015

Programming language research in the last decades was mainly driven by mathematical methods (such as formal semantics, correctness proofs, type soundness proofs, etc.) or run-time arguments based on benchmark tests. This happened despite the frequent discussion over programming language usability. We have now been through decade after decade of one language after another domainating the field, forcing companies to switch languages and migrate libraries. Now that Javascript seems to be the next language to dominate, people start to ask old questions anew. The first goal of this talk is to discuss why the application of empirical methods is (still) relatively rare in PL research, and to discuss what could be done in empirical methods to make them a substantial part of PL research. The second goal is to speculate about the possible effects that concrete empirical knowledge could have had on the programming language community. For example, what would have happened to programming languages if current knowledge would have been available 30 years ago? What if knowledge about programming languages from the year 2050 would be available today?
Specializing planners for hierarchical multi-way dataflow constraint systems
Authors: Järvi Jaakko , Foust Gabriel , Haveraaen Magne
Published: May 2015

A constraint system consists of variables and a set of constraints on those variables. To solve a constraint system is to find a valuation that satisfies all constraints; or the "best" subset of constraints if not all can simultaneously be satisfied. In a multi-way dataflow constraint system, solving requires selecting a set of user-defined functions which, when executed, will enforce the constraints. The task of selecting these functions is called planning. The planner has two kinds of input: the specification of the constraints and an order of priority for those constraints. The former typically changes seldom, while the latter frequently, making constraint planning a potential application for program specialization. This paper shows how to generate specialized planners for hierarchical multi-way dataflow constraint systems when the constraints are known in advance. The specialized planners are DFAs; they can be an order of magnitude or more faster than a general purpose planner for the same system. Our applications for constraint systems are in user interface programming, where constraint systems determine how a GUI should react to user interaction---specialized planners can help to ensure that GUIs' responses to user interaction are instantaneous.
Extensible language implementation with object algebras (short paper)
Authors: Gouseti Maria , Peters Chiel , Storm Tijs van der
Published: May 2015

Object Algebras are a recently introduced design pattern to make the implementation of recursive data types more extensible. In this short paper we report our experience in using Object Algebras in building a realistic domain specific language (DSL) for questionnaires, called QL. This experience has led to a simple, yet powerful set of tools for the practical and flexible implementation of highly extensible languages.
A transformational approach to data visualization
Authors: Smeltzer Karl , Erwig Martin , Metoyer Ronald
Published: May 2015

Information visualization construction tools generally tend to fall in one of two disparate categories. Either they offer simple but inflexible visualization templates, or else they offer low-level graphical primitives which need to be assembled manually. Those that do offer flexible, domain-specific abstractions rarely focus on incrementally building and transforming visualizations, which could reduce limitations on the style of workflows supported. We present a Haskell-embedded DSL for data visualization that is designed to provide such abstractions and transformations. This DSL achieves additional expressiveness and flexibility through common functional programming idioms and the Haskell type class hierarchy.
Yin-yang: concealing the deep embedding of DSLs
Authors: Jovanovic Vojin , Shaikhha Amir , Stucki Sandro , Nikolaev Vladimir , Koch Christoph , Odersky Martin
Published: May 2015

Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for improved program performance. Shallow EDSLs complement them by trading program performance for good programmer experience. We present Yin-Yang, a framework for DSL embedding that uses Scala macros to reliably translate shallow EDSL programs to the corresponding deep EDSL programs. The translation allows program prototyping and development in the user friendly shallow embedding, while the corresponding deep embedding is used where performance is important. The reliability of the translation completely conceals the deep em- bedding from the user. For the DSL author, Yin-Yang automatically generates the deep DSL embeddings from their shallow counterparts by reusing the core translation. This obviates the need for code duplication and leads to reliability by construction.
Automatic locality-friendly interface extension of numerical functions
Authors: Hess Benjamin , Gross Thomas R. , Püschel Markus
Published: May 2015

Raising the level of abstraction is a key concern of software engineering, and libraries (either used directly or as a target of a program generation system) are a successful technique to raise programmer productivity and to improve software quality. Unfortunately successful libraries may contain functions that may not be general enough. For example, many numeric performance libraries contain functions that work on one- or higher-dimensional arrays. A problem arises if a program wants to invoke such a function on a non-contiguous subarray (e.g., in C the column of a matrix or a subarray of an image). If the library developer did not foresee this scenario, the client program must include explicit copy steps before and after the library function call, incurring a possibly high performance penalty. A better solution would be an enhanced library function that allows for the desired access pattern. Exposing the access pattern allows the compiler to optimize for the intended usage scenario(s). As we do not want the library developer to generate all interesting versions manually, we present a tool that takes a library function written in C and generates such a customized function for typical accesses. We describe the approach, discuss limitations, and report on the performance. As example access patterns we consider those most common in numerical applications: striding and block striding, general permutations, as well as scaling. We evaluate the tool on various library functions including filters, scans, reductions, sorting, FFTs, and linear algebra operations. The automatically generated custom version is in most cases significantly faster than using individual steps, offering speed-ups that are typically in the range of 1.2-1.8x.
Compiling a reflective language using MetaOCaml
Authors: Asai Kenichi
Published: May 2015

A reflective language makes the language semantics open to user programs and allows them to access, extend, and modify it from within the same language framework. Because of its high flexibility and expressiveness, it can be an ideal platform for programming language research as well as practical applications in dynamic environments. However, efficient implementation of a reflective language is extremely difficult. Under the circumstance where the language semantics can change, a partial evaluator is required for compilation. This paper reports on the experience of using MetaOCaml as a compiler for a reflective language. With staging annotations, MetaOCaml achieves the same effect as using a partial evaluator. Unlike the standard partial evaluator, the run mechanism of MetaOCaml enables us to use the specialized (compiled) code in the current runtime environment. On the other hand, the lack of a binding-time analysis in MetaOCaml prohibits us from compiling a user program under modified compiled semantics.
Sirius
Authors: Hauswald Johann , Laurenzano Michael A. , Zhang Yunqi , Li Cheng , Rovinski Austin , Khurana Arjun , Dreslinski Ronald G. , Mudge Trevor , Petrucci Vinicius , Tang Lingjia , Mars Jason
Published: May 2015

As user demand scales for intelligent personal assistants (IPAs) such as Apple's Siri, Google's Google Now, and Microsoft's Cortana, we are approaching the computational limits of current datacenter architectures. It is an open question how future server architectures should evolve to enable this emerging class of applications, and the lack of an open-source IPA workload is an obstacle in addressing this question. In this paper, we present the design of Sirius, an open end-to-end IPA web-service application that accepts queries in the form of voice and images, and responds with natural language. We then use this workload to investigate the implications of four points in the design space of future accelerator-based server architectures spanning traditional CPUs, GPUs, manycore throughput co-processors, and FPGAs.

To investigate future server designs for Sirius, we decompose Sirius into a suite of 7 benchmarks (Sirius Suite) comprising the computationally intensive bottlenecks of Sirius. We port Sirius Suite to a spectrum of accelerator platforms and use the performance and power trade-offs across these platforms to perform a total cost of ownership (TCO) analysis of various server design points. In our study, we find that accelerators are critical for the future scalability of IPA services. Our results show that GPU- and FPGA-accelerated servers improve the query latency on average by 10x and 16x. For a given throughput, GPU- and FPGA-accelerated servers can reduce the TCO of datacenters by 2.6x and 1.4x, respectively.
Freecursive ORAM
Authors: Fletcher Christopher W. , Ren Ling , Kwon Albert , van Dijk Marten , Devadas Srinivas
Published: May 2015

Oblivious RAM (ORAM) is a cryptographic primitive that hides memory access patterns as seen by untrusted storage. Recently, ORAM has been architected into secure processors. A big challenge for hardware ORAM schemes is how to efficiently manage the Position Map (PosMap), a central component in modern ORAM algorithms. Implemented naively, the PosMap causes ORAM to be fundamentally unscalable in terms of on-chip area. On the other hand, a technique called Recursive ORAM fixes the area problem yet significantly increases ORAM's performance overhead.

To address this challenge, we propose three new mechanisms. We propose a new ORAM structure called the PosMap Lookaside Buffer (PLB) and PosMap compression techniques to reduce the performance overhead from Recursive ORAM empirically (the latter also improves the construction asymptotically). Through simulation, we show that these techniques reduce the memory bandwidth overhead needed to support recursion by 95%, reduce overall ORAM bandwidth by 37% and improve overall SPEC benchmark performance by 1.27x. We then show how our PosMap compression techniques further facilitate an extremely efficient integrity verification scheme for ORAM which we call PosMap MAC (PMMAC). For a practical parameterization, PMMAC reduces the amount of hashing needed for integrity checking by >= 68x relative to prior schemes and introduces only 7% performance overhead.

We prototype our mechanisms in hardware and report area and clock frequency for a complete ORAM design post-synthesis and post-layout using an ASIC flow in a 32~nm commercial process. With 2 DRAM channels, the design post-layout runs at 1~GHz and has a total area of .47~mm2. Depending on PLB-specific parameters, the PLB accounts for 10% to 26% area. PMMAC costs 12% of total design area. Our work is the first to prototype Recursive ORAM or ORAM with any integrity scheme in hardware.
CommGuard
Authors: Yetim Yavuz , Malik Sharad , Martonosi Margaret
Published: May 2015

As semiconductor technology scales towards ever-smaller transistor sizes, hardware fault rates are increasing. Since important application classes (e.g., multimedia, streaming workloads) are data-error-tolerant, recent research has proposed techniques that seek to save energy or improve yield by exploiting error tolerance at the architecture/microarchitecture level. Even seemingly error-tolerant applications, however, will crash or hang due to control-flow/memory addressing errors. In parallel computation, errors involving inter-thread communication can have equally catastrophic effects. Our work explores techniques that mitigate the impact of potentially catastrophic errors in parallel computation, while still garnering power, cost, or yield benefits from data error tolerance. Our proposed CommGuard solution uses FSM-based checkers to pad and discard data in order to maintain semantic alignment between program control flow and the data communicated between processors. CommGuard techniques are low overhead and they exploit application information already provided by some parallel programming languages (e.g. StreamIt). By converting potentially catastrophic communication errors into potentially tolerable data errors, CommGuard allows important streaming applications like JPEG and MP3 decoding to execute without crashing and to sustain good output quality, even for errors as frequent as every 500μs.
rIOMMU
Authors: Malka Moshe , Amit Nadav , Ben-Yehuda Muli , Tsafrir Dan
Published: May 2015

The IOMMU allows the OS to encapsulate I/O devices in their own virtual memory spaces, thus restricting their DMAs to specific memory pages. The OS uses the IOMMU to protect itself against buggy drivers and malicious/errant devices. But the added protection comes at a cost, degrading the throughput of I/O-intensive workloads by up to an order of magnitude. This cost has motivated system designers to trade off some safety for performance, e.g., by leaving stale information in the IOTLB for a while so as to amortize costly invalidations. We observe that high-bandwidth devices---like network and PCIe SSD controllers---interact with the OS via circular ring buffers that induce a sequential, predictable workload. We design a ring IOMMU (rIOMMU) that leverages this characteristic by replacing the virtual memory page table hierarchy with a circular, flat table. A flat table is adequately supported by exactly one IOTLB entry, making every new translation an implicit invalidation of the former and thus requiring explicit invalidations only at the end of I/O bursts. Using standard networking benchmarks, we show that rIOMMU provides up to 7.56x higher throughput relative to the baseline IOMMU, and that it is within 0.77--1.00x the throughput of a system without IOMMU protection.
Compiler Management of Communication and Parallelism for Quantum Computation
Authors: Heckey Jeff , Patil Shruti , JavadiAbhari Ali , Holmes Adam , Kudrow Daniel , Brown Kenneth R. , Franklin Diana , Chong Frederic T. , Martonosi Margaret
Published: May 2015

Quantum computing (QC) offers huge promise to accelerate a range of computationally intensive benchmarks. Quantum computing is limited, however, by the challenges of decoherence: i.e., a quantum state can only be maintained for short windows of time before it decoheres. While quantum error correction codes can protect against decoherence, fast execution time is the best defense against decoherence, so efficient architectures and effective scheduling algorithms are necessary. This paper proposes the Multi-SIMD QC architecture and then proposes and evaluates effective schedulers to map benchmark descriptions onto Multi-SIMD architectures. The Multi-SIMD model consists of a small number of SIMD regions, each of which may support operations on up to thousands of qubits per cycle.

Efficient Multi-SIMD operation requires efficient scheduling. This work develops schedulers to reduce communication requirements of qubits between operating regions, while also improving parallelism.We find that communication to global memory is a dominant cost in QC. We also note that many quantum benchmarks have long serial operation paths (although each operation may be data parallel). To exploit this characteristic, we introduce Longest-Path-First Scheduling (LPFS) which pins operations to SIMD regions to keep data in-place and reduce communication to memory. The use of small, local scratchpad memories also further reduces communication. Our results show a 3% to 308% improvement for LPFS over conventional scheduling algorithms, and an additional 3% to 64% improvement using scratchpad memories. Our work is the most comprehensive software-to-quantum toolflow published to date, with efficient and practical scheduling techniques that reduce communication and increase parallelism for full-scale quantum code executing up to a trillion quantum gate operations.