UC Berkeley EECS Technical ReportsThe UC Berkeley EECS Technical Memorandum Series provides a dated archive of EECS research. It includes Ph.D. theses and master's reports as well as technical documents that complement traditional publication media such as journals. For example, technical reports may document work in progress, early versions of results that are eventually published in more traditional media, and supplemental information such as long proofs, software documentation, code listings, or elaborated examples.http://www.eecs.berkeley.edu/Pubs/TechRpts/2014-10-01T05:37:05Z2014-10-01T05:37:05ZenProvably Efficient Algorithms for Numerical Tensor AlgebraEdgar Solomonikhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-170.html2014-09-30T07:00:00Z2014-09-30T07:00:00Z<p>Provably Efficient Algorithms for Numerical Tensor Algebra</p>
<p>
Edgar Solomonik</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-170<br>
September 30, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-170.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-170.pdf</a></p>
<p>This thesis targets the design of parallelizable algorithms and communication-efficient parallel schedules for numerical linear algebra as well as computations with higher-order tensors. Communication is a growing bottleneck in the execution of most algorithms on parallel computers, which manifests itself as data movement both through the network connecting different processors and through the memory hierarchy of each processor as well as synchronization between processors. We provide a rigorous theoretical model of communication and derive lower bounds as well as algorithms in this model. Our analysis concerns two broad areas of linear algebra and of tensor contractions. We demonstrate the practical quality of the new theoretically-improved algorithms by presenting results which show that our implementations outperform standard libraries and traditional algorithms.
<p>We model the costs associated with local computation, communication, and synchronization. We introduce a new technique for deriving lower bounds on tradeoffs between these costs and apply them to algorithms in both dense and sparse linear algebra as well as graph algorithms. These lower bounds are attained by what we refer to as 2.5D algorithms, which we give for matrix multiplication, Gaussian elimination, QR factorization, the symmetric eigenvalue problem, and the Floyd-Warshall all-pairs shortest-paths algorithm. 2.5D algorithms achieve lower interprocessor bandwidth cost by exploiting auxiliary memory. Algorithms employing this technique are well known for matrix multiplication, and have been derived in the BSP model for LU and QR factorization, as well as the Floyd-Warshall algorithm. We introduce alternate versions of LU and QR algorithms which have measurable performance improvements over their BSP counterparts, and we give the first evaluations of their performance. For the symmetric eigenvalue problem, we give the first 2.5D algorithms, additionally solving challenges with memory-bandwidth efficiency that arise for this problem. We also give a new memory-bandwidth efficient algorithm for Krylov subspace methods (repeated multiplication of a vector by a sparse-matrix). </p>
<p>The latter half of the thesis contains algorithms for higher-order tensors, in particular tensor contractions. We introduce Cyclops Tensor Framework, which provides an automated mechanism for network-topology-aware decomposition and redistribution of tensor data. It leverages 2.5D matrix multiplication to perform tensor contractions communication-efficiently. The framework is capable of exploiting symmetry and antisymmetry in tensors and utilizes a distributed packed-symmetric storage format. Finally, we consider a theoretically novel technique for exploiting tensor symmetry to lower the number of multiplications necessary to perform a contraction via computing some redundant terms that allow preservation of symmetry and then cancelling them out with low-order cost. We analyze the numerical stability and communication efficiency of this technique and give adaptations to antisymmetric and Hermitian matrices. This technique has promising potential for accelerating coupled-cluster (electronic structure) methods both in terms of computation and communication cost.</p></p>
<p><strong>Advisor:</strong> James Demmel</p>2014-09-30T07:00:00ZHigh Performance Machine Learning through Codesign and RoofliningHuasha ZhaoJohn F. Cannyhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-169.html2014-09-27T07:00:00Z2014-09-27T07:00:00Z<p>High Performance Machine Learning through Codesign and Rooflining</p>
<p>
Huasha Zhao and John F. Canny</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-169<br>
September 27, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-169.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-169.pdf</a></p>
<p>Machine learning (ML) is a cornerstone of the new data revolution. Most attempts to scale machine learning to massive datasets focus on parallelization on computer clusters. The BIDMach project instead explores the untapped potential (especially from GPU and SIMD hardware) inside individual machines. Through careful codesign of algorithms and ``rooflining'', we have demonstrated multiple orders of magnitude speedup over other systems. In fact, BIDMach running on a single machine exceeds the performance of cluster systems on most common ML tasks, and has run computer-intensive tasks on 10-terabyte datasets. We can further show that BIDMach runs at close to the theoretical limits imposed by CPU/GPU, memory or network bandwidth. BIDMach includes several innovations to make the data modeling process more agile and effective: likelihood ``mixins'' and interactive modeling using Gibbs sampling.
<p>These results are very encouraging but the greatest potential for future hardware-leveraged machine learning appears to be on MCMC algorithms: We can bring the performance of sample-based Bayesian inference up close to symbolic methods. This opens the possibility for a general-purpose ``engine'' for machine learning whose performance matches specialized methods. We demonstrate this approach on a specific problem (Latent Dirichlet Allocation), and discuss the general case. </p>
<p>Finally we explore scaling ML to clusters. In order to benefit from parallelization, rooflined nodes require very high network bandwidth. We show that the aggregators (reducers) on other systems do not scale, and are not adequate for this task. We describe two new approaches, butterfly mixing and ``Kylix'' which cover the requirements of machine learning and graph algorithms respectively. We give roofline bounds for both approaches.</p></p>
<p><strong>Advisor:</strong> John F. Canny</p>2014-09-27T07:00:00ZA Hybrid Dynamical Systems Theory for Legged LocomotionSamuel Burdenhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-167.html2014-09-25T07:00:00Z2014-09-25T07:00:00Z<p>A Hybrid Dynamical Systems Theory for Legged Locomotion</p>
<p>
Samuel Burden</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-167<br>
September 25, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-167.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-167.pdf</a></p>
<p>Legged locomotion arises from intermittent contact between limbs and terrain. Since it emerges from a closed-loop interaction, reductionist study of body mechanics and terrestrial dynamics in isolation have failed to yield comprehensive strategies for forward- or reverse-engineering locomotion. Progress in locomotion science stands to benefit a diverse array of engineers, scientists, and clinicians working in robotics, neuromechanics, and rehabilitation. Eschewing reductionism in favor of a holistic study, we seek a systems-level theory tailored to the dynamics of legged locomotion.
<p>Parsimonious mathematical models for legged locomotion are hybrid, as the system state undergoes continuous flow through limb stance and swing phases punctuated by instantaneous reset at discrete touchdown and liftoff events. In their full generality, hybrid systems can exhibit properties such as nondeterminism and orbital instability that are inconsistent with observations of organismal biomechanics. By specializing to a class of intrinsically self-consistent dynamical models, we exclude such pathologies while retaining emergent phenomena that arise in closed-loop studies of locomotion. </p>
<p>Beginning with a general class of hybrid control systems, we construct an intrinsic state-space metric and derive a provably-convergent numerical simulation algorithm. This resolves two longstanding problems in hybrid systems theory: non-trivial comparison of states from distinct discrete modes, and accurate simulation up to and including Zeno events. Focusing on models for periodic gaits, we prove that isolated discrete transitions generically lead the hybrid dynamical system to reduce to an equivalent classical (smooth) dynamical system. This novel route to reduction in models of rhythmic phenomena demonstrates that the closed-loop interaction between limbs and terrain is generally simpler than either taken in isolation. Finally, we show that the non-smooth flow resulting from arbitrary footfall timing possesses a non-classical (Bouligand) derivative. This provides a foundation for design and control of multi-legged maneuvers. Taken together, these contributions yield a unified analytical and computational framework -- a hybrid dynamical systems theory -- applicable to legged locomotion.</p></p>
<p><strong>Advisor:</strong> S. Shankar Sastry</p>2014-09-25T07:00:00ZA Learning Based Approach to Control Synthesis of Markov Decision Processes for Linear Temporal Logic SpecificationsDorsa SadighEric KimSamuel CooganS. Shankar SastrySanjit A. Seshiahttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-166.html2014-09-20T07:00:00Z2014-09-20T07:00:00Z<p>A Learning Based Approach to Control Synthesis of Markov Decision Processes for Linear Temporal Logic Specifications</p>
<p>
Dorsa Sadigh, Eric Kim, Samuel Coogan, S. Shankar Sastry and Sanjit A. Seshia</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-166<br>
September 20, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-166.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-166.pdf</a></p>
<p>We propose to synthesize a control policy for a Markov decision process (MDP) such that the resulting traces of the MDP satisfy a linear temporal logic (LTL) property. We construct a product MDP that incorporates a deterministic Rabin automaton generated from the desired LTL property. The reward function of the product MDP is defined from the acceptance condition of the Rabin automaton. This construction allows us to apply techniques from learning theory to the problem of synthesis for LTL specifications even when the transition probabilities are not known a priori. We prove that our method is guaranteed to find a controller that satisfies the LTL property with probability one if such a policy exists, and we suggest empirically with a case study in traffic control that our method produces reasonable control strategies even when the LTL property cannot be satisfied with probability one.</p>2014-09-20T07:00:00ZAccuracy of the s-step Lanczos method for the symmetric eigenproblemErin CarsonJames Demmelhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-165.html2014-09-17T07:00:00Z2014-09-17T07:00:00Z<p>Accuracy of the s-step Lanczos method for the symmetric eigenproblem</p>
<p>
Erin Carson and James Demmel</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-165<br>
September 17, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-165.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-165.pdf</a></p>
<p>The $s$-step Lanczos method is an attractive alternative to the classical Lanczos method as it enables an $O(s)$ reduction in data movement over a fixed number of iterations. This can significantly improve performance on modern computers. In order for $s$-step methods to be widely adopted, it is important to better understand their error properties. Although the $s$-step Lanczos method is equivalent to the classical Lanczos method in exact arithmetic, empirical observations demonstrate that it can behave quite differently in finite precision.
<p>In this paper, we demonstrate that bounds on accuracy for the finite precision Lanczos method given by Paige [\emph{Lin. Alg. Appl.}, 34:235--258, 1980] can be extended to the $s$-step Lanczos case assuming a bound on the condition numbers of the computed $s$-step bases. Our results confirm theoretically what is well-known empirically: the conditioning of the Krylov bases plays a large role in determining finite precision behavior. In particular, if one can guarantee that the basis condition number is not too large throughout the iterations, the accuracy and convergence of eigenvalues in the $s$-step Lanczos method should be similar to those of classical Lanczos. This indicates that, under certain restrictions, the $s$-step Lanczos method can be made suitable for use in many practical cases.</p></p>2014-09-17T07:00:00ZPtolemy Coding StyleChristopher BrooksEdward A. Leehttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-164.html2014-09-05T07:00:00Z2014-09-05T07:00:00Z<p>Ptolemy Coding Style</p>
<p>
Christopher Brooks and Edward A. Lee</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-164<br>
September 5, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-164.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-164.pdf</a></p>
<p>Collaborative software projects benefit when participants read code created by other participants. The objective of a coding style is to reduce the fatigue induced by unimportant formatting differences and differences in naming conventions. Although individual programmers will undoubtedly have preferences and habits that differ from the recommendations here, the benefits that flow from following these recommendations far outweigh the inconveniences. Published papers in journals are subject to similar stylistic and layout constraints, so such constraints are not new to the academic community. This document describes the coding style used in Ptolemy II, a package with 550K lines of Java and 160 contributing programmers that has been under development since 1996.</p>2014-09-05T07:00:00ZSystem Design Trade-Offs in a Next-Generation Embedded Wireless PlatformMichael P AndersenDavid E. Cullerhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-162.html2014-08-25T07:00:00Z2014-08-25T07:00:00Z<p>System Design Trade-Offs in a Next-Generation Embedded Wireless Platform</p>
<p>
Michael P Andersen and David E. Culler</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-162<br>
August 25, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-162.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-162.pdf</a></p>
<p>Over the course of the past decade, the evolution of ad- vanced low-energy microcontrollers has raised three ques- tions which this paper outlines and addresses. The first question is: Can a 32-bit platform be constructed that provides advanced features but fits within the energy constraints of a wireless sensor network? We answer this in the affirmative by presenting the design and preliminary evaluation of Storm – one such system based on an ARM Cortex-M4 that achieves 2.3μA idle current with a 1.5μS wake up time. The second question we answer is: Can this platform simultaneously meet the very different demands of both monitoring-type applications and cyber-physical systems? We demonstrate that this is indeed possible and present the design trade-offs that must be made to achieve this, yielding a module with a rich set of exported peripherals that fits in a 16mm x 26mm form factor. The final question explored by this paper is: If such a platform is possible, what new opportunities and challenges would it hold for embedded operating systems? We answer this by showing that the usage of modern 32 bit microcon- trollers requires reconsidering system architecture govern- ing power management, clock selection and inter-module de- pendencies, as well as offering opportunities for supervisory code and the coordination of common tasks without CPU in- tervention.</p>2014-08-25T07:00:00ZProgramming by Manipulation for LayoutThibaud HottelierRas BodikKimiko Ryokaihttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-161.html2014-08-25T07:00:00Z2014-08-25T07:00:00Z<p>Programming by Manipulation for Layout</p>
<p>
Thibaud Hottelier, Ras Bodik and Kimiko Ryokai</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-161<br>
August 25, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-161.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-161.pdf</a></p>
<p>We present Programming by Manipulation, a new programming methodology for specifying the layout of data visualizations, targeted at non-programmers. We address the two central sources of bugs that arise when programming with constraints: ambiguities and conflicts (inconsistencies). We rule out conflicts by design and exploit ambiguity to explore possible layout designs. Our users design layouts by highlighting undesirable aspects of a current design, effectively breaking spurious constraints and introducing ambiguity by giving some elements freedom to move or resize. Subsequently, the tool indicates how the ambiguity can be removed, by computing how the free elements can be fixed with available constraints. To support this workflow, our tool computes the ambiguity and summarizes it visually. We evaluate our work with two user-studies demonstrating that both non-programmers and programmers can effectively use our prototype. Our results suggest that our tool is 5-times more productive than direct programming with constraints.</p>2014-08-25T07:00:00ZDynamic and Interactive Synthesis of Code SnippetsJoel Galensonhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-160.html2014-08-20T07:00:00Z2014-08-20T07:00:00Z<p>Dynamic and Interactive Synthesis of Code Snippets</p>
<p>
Joel Galenson</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-160<br>
August 20, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-160.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-160.pdf</a></p>
<p>Many code fragments are difficult to write. For example, using new and unfamiliar APIs can be a complex task with a steep learning curve. In addition, implementing a complex data structure requires discovering and understanding all of the corner cases. And more and more end users with little to no formal training are trying to write code, whether they be scientists writing simulations or kids writing mobile apps. For all of these reasons and more, programming is a difficult task, which leads to bugs and delays in software.
<p>There are many tools that help programmers find code fragments involving complex APIs, but many are somewhat inexpressive and rely on static information. We present a new technique, which we call CodeHint, that generates and evaluates code at runtime and hence can synthesize real-world Java code that involves I/O, reflection, native calls, and other advanced language features. Our approach is dynamic (giving accurate results and allowing programmers to reason about concrete executions), easy-to-use (supporting a wide range of correctness specifications), and interactive (allowing users to refine the candidate code snippets). We evaluate CodeHint and show that its algorithms are efficient and that in two user studies it improves programmer productivity by more than a factor of two. </p>
<p>As the second contribution, programmers and end users often find it easy to explain an algorithm on a whiteboard or with pictures in a textbook but struggle to write the code correctly. We propose a new methodology that allows users to program by demonstrating how an algorithm proceeds on concrete inputs. To reduce the burden of these demonstrations on the user, we have developed pruning algorithms to remove ambiguities in the demonstrations and control flow inference algorithms to infer missing conditionals in demonstrations. These two techniques take advantage of the knowledge encoded in the user's partial correctness condition. We show that this approach is effective in practice by analyzing its performance on several common algorithms.</p></p>
<p><strong>Advisor:</strong> Ras Bodik and Koushik Sen</p>2014-08-20T07:00:00ZEnabling Portable Building Applications through Automated Metadata TransformationArka BhattacharyaDavid E. CullerJorge OrtizDezhi HongKamin Whitehousehttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-159.html2014-08-19T07:00:00Z2014-08-19T07:00:00Z<p>Enabling Portable Building Applications through Automated Metadata Transformation</p>
<p>
Arka Bhattacharya, David E. Culler, Jorge Ortiz, Dezhi Hong and Kamin Whitehouse</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-159<br>
August 19, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-159.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-159.pdf</a></p>
<p>Sensor network research has facilitated advancements in various domains, such as industrial monitoring, environmental sensing, etc., and research challenges have shifted from creating infrastructure to utilizing it. Commercial buildings provide a valuable setting for investigating automated metadata acquisition and augmentation, as they typically comprise large sensor networks, but have limited, obscure 'tags' that are often meaningful only to the facility managers. Moreover, this primitive metadata is imprecise and varies across vendors and deployments. Extracting meaningful information from a building's sensor data, or control applications using the data, depends on the metadata available to interpret it, whether provided by novel networks or legacy instrumentation.
<p>This state-of-the-art is a fundamental barrier to scaling analytics or intelligent control across the building stock, as even the basic steps involve labor intensive manual efforts by highly trained consultants. Writing building applications on its sensor network remains largely intractable as it involves extensive help from an expert in each building's design and operation to identify the sensors of interest and create the associated metadata. This process is repeated for each application development in a particular building, and across different buildings. This results in customized building-specific application queries which are not portable or scalable across buildings. </p>
<p>We present a synthesis technique that learns how to transform a building's primitive sensor metadata to a common namespace by using a small number of examples from an expert, such as the building manager. Once the transformation rules are learned for one building, it can be applied across buildings with a similar metadata structure. This common and understandable namespace can enable analytics applications that do not require apriori building-specific knowledge. </p>
<p>Initial results show that learning the rules to transform 70% of the primitive metadata of two buildings (with completely different metadata structure), comprising 1600 and 2600 sensors, into a common namespace took only 21 and 27 examples respectively. The learned rules were able to transform similar primitive metadata in about 60 other buildings as well, enabling writing of portable applications across these buildings.</p></p>2014-08-19T07:00:00ZProgramming Layout by ManipulationThibaud Hottelierhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-158.html2014-08-18T07:00:00Z2014-08-18T07:00:00Z<p>Programming Layout by Manipulation</p>
<p>
Thibaud Hottelier</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-158<br>
August 18, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-158.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-158.pdf</a></p>
<p>Creating layouts for documents, GUIs, or data visualizations is a time-consuming and error-prone process. Non-programmers would like the customization and fine-grained control currently only possible with handwritten layout engines. Today, such engines are written by proficient programmers. This thesis introduces new techniques for specifying layout and generating efficient layout engines.</p>
<p>First, we present a new programming methodology which addresses the two central sources of bugs in layouts: ambiguities and conflicts. Then, we introduce a language of constraints in which we capture layout specifications formally. Finally, we show how to generate efficient layout engines automatically. We provide the following individual contributions:</p>
<p></p>
<ol>
<li>The Programming by Manipulation (PBM) paradigm targeted at non-programmers to establish specifications in visual domains such as layout. We introduce a new type of user demonstration—manipulation—which is resistant to users' imprecisions inherent in drawing. Instead of sketching the desired layout, users steer the exploration of potential layouts by pointing out what they would like to change.</li>
<p></p>
<li> L<sup>3</sup>, a declarative language for layout specifications. L<sup>3</sup> is based on non-directional constraints in which the flow of computation is completely abstracted away.</li>
<p></p>
<li> A synthesis procedure—grammar modular synthesis—capable of generating layout engines from L<sup>3</sup> specifications. Our new algorithm scales to realistic layout specifications and produces generic engines supporting languages of documents.</li>
</ol>
<p>To evaluate our work, we present two user studies showing not only that non-programmers can design interesting visualizations using PBM, but also that proficient programmers are more productive with PBM than with conventional constraint programming. We also compare the performance of our synthetized engines with state-of-the-art constraint solvers and show that our engines are up to two orders of magnitude faster.</p>
<p><strong>Advisor:</strong> Ras Bodik</p>2014-08-18T07:00:00ZRequirements for Hybrid CosimulationDavid BromanLev GreenbergEdward A. LeeMichael MasinStavros TripakisMichael Wetterhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-157.html2014-08-16T07:00:00Z2014-08-16T07:00:00Z<p>Requirements for Hybrid Cosimulation</p>
<p>
David Broman, Lev Greenberg, Edward A. Lee, Michael Masin, Stavros Tripakis and Michael Wetter</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-157<br>
August 16, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-157.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-157.pdf</a></p>
<p>This paper defines a suite of requirements for future hybrid cosimulation standards, and specifically provides guidance for development of a hybrid cosimulation version of the Functional Mockup Interface (FMI) standard. A cosimulation standard defines interfaces that enable diverse simulation tools to interoperate. Specifically, one tool defines a component that forms part of a simulation model in another tool. We focus on components with inputs and outputs that are functions of time, and specifically on inputs and outputs that are mixtures of discrete events and continuous time signals. This hybrid mixture is not well supported by existing cosimulation standards, and specifically not by FMI 2.0, for reasons that are explained in this paper. The paper defines a suite of test components, giving a mathematical model of an ideal behavior, plus a discussion of practical implementation considerations. The discussion includes acceptance criteria by which we can determine whether a standard supports definition of each component. In addition, the paper defines a set of test compositions of components. These compositions define requirements for coordination between components, including consistent handling of timed events.</p>2014-08-16T07:00:00ZTopics in Cell Phone SecurityJethro Beekmanhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-156.html2014-08-16T07:00:00Z2014-08-16T07:00:00Z<p>Topics in Cell Phone Security</p>
<p>
Jethro Beekman</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-156<br>
August 16, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-156.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-156.pdf</a></p>
<p>The global cell phone network is a large and multi-faceted technology that is continuously being improved with new protocols and features. In this work we analyze the security of a few designs and implementations comprising a part of this network. First, we analyze the security of an IP Multimedia Subsystem (IMS) implementation for Android by a major US cell phone carrier, finding a man-in-the-middle attack. Secondly, we look at the 3GPP Authentication and Key Agreement (AKA) protocol, describing three new attacks on AKA in the context of Internet calling and Android. We have worked with the relevant parties to address these four attacks. And finally, we discuss the security aspects of modems in phone platforms from a systems design standpoint, highlighting threats and security objectives that can be used both in evaluating existing implementations as well as in creating new implementations.</p>
<p><strong>Advisor:</strong> David Wagner and John Louis Manferdelli</p>2014-08-16T07:00:00ZFormal Techniques for the Verification and Optimal Control of Probabilistic Systems in the Presence of Modeling UncertaintiesAlberto Puggellihttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-155.html2014-08-15T07:00:00Z2014-08-15T07:00:00Z<p>Formal Techniques for the Verification and Optimal Control of Probabilistic Systems in the Presence of Modeling Uncertainties</p>
<p>
Alberto Puggelli</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-155<br>
August 15, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-155.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-155.pdf</a></p>
<p>We present a framework to design and verify the behavior of stochastic systems whose parameters are not known with certainty but are instead affected by modeling uncertainties, due for example to modeling errors, non-modeled dynamics or inaccuracies in the probability estimation. In the first part of the dissertation, we introduce the model of Convex Markov Decision Processes (Convex-MDPs) as the modeling framework to represent the behavior of stochastic systems. Convex-MDPs generalize MDPs by expressing state-transition probabilities not only with fixed realization frequencies but also with non-linear convex sets of probability distribution functions. These convex sets represent the uncertainty in the modeling process. In the second part of the dissertation, we address the problem of formally verifying properties of the execution behavior of Convex-MDPs. In particular, we aim to verify that the system behaves correctly under all valid operating conditions and under all possible resolutions of the uncertainty in the state-transition probabilities. We use Probabilistic Computation Tree Logic (PCTL) as the formal logic to express system properties. Using results on strong duality for convex programs, we present a model-checking algorithm for PCTL properties of Convex-MDPs, and prove that it runs in time polynomial in the size of the model under analysis. The developed algorithm is the first known polynomial-time algorithm for the verification of PCTL properties of Convex-MDPs. We apply the proposed framework and model-checking algorithm to the problem of formally verifying quantitative properties of models of the behavior of human drivers. We first propose a novel stochastic model of the driver behavior based on Convex Markov chains. The model is capable of capturing the intrinsic uncertainty in estimating the intricacies of the human behavior. We then formally verify properties of the model expressed in PCTL. Results show that our approach can correctly predict quantitative information about the driver behavior depending on his/her attention state, and on the environmental conditions. Finally, in the third part of the dissertation, we analyze the problem of synthesizing optimal control strategies for Convex-MDPs, aiming to optimize a given system performance, while guaranteeing that the system behavior fulfills a specification expressed in PCTL under all resolutions of the uncertainty in the state-transition probabilities. We first prove that adding uncertainty in the representation of the state-transition probabilities does not increase the theoretical complexity of the synthesis problem, which remains in the class NP-complete as the analogous problem applied to MDPs, i.e., when all transition probabilities are known with certainty. We then interpret the strategy-synthesis problem as a constrained optimization problem and propose the first sound and complete algorithm to solve it. We apply the developed strategy-synthesis algorithm to the problem of generating optimal energy pricing and purchasing strategies for a for-profit energy aggregator whose portfolio of energy supplies includes renewable sources, e.g., wind. Economic incentives have been proposed to manage user demand and compensate for the intrinsic uncertainty in the prediction of the supply generation. Stochastic control techniques are however needed to maximize the economic profit for the energy aggregator while quantitatively guaranteeing quality-of-service for the users. We use Convex-MDPs to model the decision-making scenario and train the models with measured data, to quantitatively capture the uncertainty in the prediction of renewable energy generation. An experimental comparison shows that the synthesized control strategies significantly increase system performance with respect to previous approaches presented in the literature.</p>
<p><strong>Advisor:</strong> Alberto L. Sangiovanni-Vincentelli and Elad Alon</p>2014-08-15T07:00:00ZLanguage Support for Loosely Consistent Distributed ProgrammingNeil Conwayhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-153.html2014-08-15T07:00:00Z2014-08-15T07:00:00Z<p>Language Support for Loosely Consistent Distributed Programming</p>
<p>
Neil Conway</p>
<p>
EECS Department<br>
University of California, Berkeley<br>
Technical Report No. UCB/EECS-2014-153<br>
August 15, 2014</p>
<p>
<a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-153.pdf">http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-153.pdf</a></p>
<p>Driven by the widespread adoption of both cloud computing and mobile devices, distributed computing is increasingly commonplace. As a result, a growing proportion of developers must tackle the complexity of distributed programming---that is, they must ensure correct application behavior in the face of asynchrony, concurrency, and partial failure.
<p>To help address these difficulties, developers have traditionally relied upon system infrastructure that provides strong consistency guarantees (e.g., consensus protocols and distributed transactions). These mechanisms hide much of the complexity of distributed computing---for example, by allowing programmers to assume that all nodes observe the same set of events in the same order. Unfortunately, providing such strong guarantees becomes increasingly expensive as the scale of the system grows, resulting in availability and latency costs that are unacceptable for many modern applications. </p>
<p>Hence, many developers have explored building applications that only require loose consistency guarantees---for example, storage systems that only guarantee that all replicas eventually converge to the same state, meaning that a replica might exhibit an arbitrary state at any particular time. Adopting loose consistency involves making a well-known tradeoff: developers can avoid paying the latency and availability costs incurred by mechanisms for achieving strong consistency, but in exchange they must deal with the full complexity of distributed computing. As a result, achieving correct application behavior in this environment is very difficult. </p>
<p>This thesis explores how to aid developers of loosely consistent applications by providing programming language support for the difficulties they face. The language level is a natural place to tackle this problem: because developers that use loose consistency have fewer system facilities that they can depend on, consistency concerns are naturally pushed into application logic. In part, our goal has been to recognize, formalize, and automate application-level consistency patterns. </p>
<p>We describe three language variants that each tackle a different challenge in distributed programming. Each variant is a modification of Bloom, a declarative language for distributed programming we have developed at UC Berkeley. The first variant of Bloom, Bloom^L, enables deterministic distributed programming without the need for distributed coordination. Second, Edelweiss allows distributed storage reclamation protocols to be generated in a safe and automatic fashion. Finally, Bloom^PO adds sophisticated ordering constraints that we use to develop a declarative, high-level implementation of concurrent editing, a particularly difficult class of loosely consistent programs.</p></p>
<p><strong>Advisor:</strong> Joseph M. Hellerstein</p>2014-08-15T07:00:00Z