23 research outputs found
Real-Time Simulation and Prognosis of Smoke Propagation in Compartments Using a GPU
The evaluation of life safety in buildings in case of fire is often based on
smoke spread calculations. However, recent simulation models â in general,
based on computational fluid dynamics â often require long execution
times or high-performance computers to achieve simulation results in or
faster than real-time.
Therefore, the objective of this study is the development of a concept
for the real-time and prognosis simulation of smoke propagation in compartments
using a graphics processing unit (GPU). The developed concept
is summarized in an expandable open source software basis, called
JuROr (JĂŒlich's Real-time simulation within ORPHEUS). JuROr simulates
buoyancy-driven, turbulent smoke spread based on a reduced modeling
approach using finite differences and a Large Eddy Simulation turbulence
model to solve the incompressible Navier-Stokes and energy equations.
This reduced model is fully adapted to match the target hardware
of highly parallel computer architectures. Thereby, the code is written
in the object-oriented programming language C++ and the pragma-based
programming model OpenACC. This model ensures to maintain a single
source code, which can be executed in serial and parallel on various
architectures.
Further, the study provides a proof of JuROr's concept to balance sufficient
accuracy and practicality. First, the code was successfully verified
using unit and (semi-) analytical tests. Then, the underlying model was
validated by comparing the numerical results to the experimental results
of scenarios relevant for fire protection. Thereby, verification and validation
showed acceptable accuracy for JuROr's application. Lastly, the
performance criteria of JuROr â being real-time and prognosis capable
with comparable performance across various architectures â was successfully
evaluated. Here, JuROr also showed high speedup results on a GPU
and faster time-to-solution compared to the established Fire Dynamics
Simulator. These results show JuROr's practicality.Die Bewertung der Personensicherheit bei Feuer in GebÀuden basiert hÀufig
auf Berechnungen zur Rauchausbreitung. Bisherige Simulationsmodelle
â im Allgemeinen basierend auf numerischer Strömungsdynamik â
erfordern jedoch lange AusfĂŒhrungszeiten oder Hochleistungsrechner, um
Simulationsergebnisse in und schneller als Echtzeit liefern zu können.
Daher ist das Ziel dieser Arbeit die Entwicklung eines Konzeptes fĂŒr
die Echtzeit- und Prognosesimulation der Rauchausbreitung in GebÀuden
mit Hilfe eines Grafikprozessors (GPU). Zusammengefasst ist das entwickelte
Konzept in einer erweiterbaren Open-Source-Software, genannt
JuROr (JĂŒlich's Real-time Simulation in ORPHEUS). JuROr simuliert
die Ausbreitung von auftriebsgetriebenem, turbulentem Rauch basierend
auf einem reduzierten Modellierungsansatz mit finiten Differenzen und
einem Large Eddy Simulation Turbulenzmodell, um inkompressible Navier-
Stokes und Energiegleichungen zu lösen. Das reduzierte Modell ist voll-
stÀndig angepasst an hochparallele Computerarchitekturen. Dabei ist der
Code implementiert mit C++ und OpenACC. Dies hat den Vorteil mit
nur einem Quellcode verschiedenste serielle und parallele AusfĂŒhrungen
des Programms fĂŒr unterschiedliche Architekturen erstellen zu können.
Die Studie liefert weiterhin einen Konzeptnachweis dafĂŒr, ausreichende
Genauigkeit und PraktikabilitÀt im Gleichgewicht zu halten. ZunÀchst
wurde der Code erfolgreich mit Modul- und (semi-) analytischen Tests verifiziert.
Dann wurde das zugrundeliegende Modell durch einen Vergleich
der numerischen mit den experimentellen Ergebnissen fĂŒr den Brandschutz
relevanter Szenarien validiert. Die Verifizierung und Validierung
zeigten dabei ausreichende Genauigkeit fĂŒr JuROr. Zuletzt, wurden die
Kriterien von JuROr â echtzeit- und prognosefĂ€hig zu sein mit vergleichbarer
Leistung auf unterschiedlichsten Architekturen â erfolgreich geprĂŒft.
Zudem zeigte JuROr hohe Beschleunigungseffekte auf einer GPU und
schnellere Lösungszeiten im Vergleich zum etablierten Fire Dynamics Simulator.
Diese Ergebnisse zeigen JuROr's PraktikabilitÀt
Compiling a synchronous programming language into field programmable gate arrays
This thesis shows how to compile a program expressed by a novel hardware description language, the State Machine Algol-Like Language (SMALL), into Field- Programmable Gate Arrays (FPGAs). A netlist generator for the SMALL language is created to transform a parallel Algorithmic State Machine (ASM) chart into a structural VHDL description. The one-hot encoding technique is used for the transformations. The structural VHDL description for the netlist is simulated and synthesised by Synopsys VSS (VHDL System Simulator) and Synopsys FPGA Compiler, respectively. The netlist is very simple and the components of the netlist consist of only D-type flip-flops and basic gates. The Design Manager of the Xilinx Alliance Series version 1.4 is used to produce configuration data for Xilinx FPGA chips. The Xilinx XC4000 family is employed as the target FPGA device. -- The simulation results for several SMALL programs indicate that the netlist generator performs the specified requirements for all the statements and all the operators in the SMALL language. -- Using the netlist generator and existing place-and-route tools makes the implementation of SMALL programs on FPGAs easy. This research offers a significant advance on the original SMALL implementation. Due to its simplicity and simple semantics, it is believed that the SMALL language will be widely used in many areas in the future
A cost and utility analysis of NIM/CAMAC standards and equipment for shuttle payload data acquisition and control systems. Volume 3: Tasks 3 and 4
The modifications for the Nuclear Instrumentation Modular (NIM) and Computer Automated Measurement Control (CAMAC) equipment, designed for ground based laboratory use, that would be required to permit its use in the Spacelab environments were determined. The cost of these modifications were estimated and the most cost effective approach to implementing them were identified. A shared equipment implementation in which the various Spacelab users draw their required complement of standard NIM and CAMAC equipment for a given flight from a common equipment pool was considered. The alternative approach studied was a dedicated equipment implementation in which each of the users is responsible for procuring either their own NIM/CAMAC equipment or its custom built equivalent
Mostly-static decentralized information flow control
Thesis (Ph.D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1999.Includes bibliographical references (p. 169-174) and index.This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.The growing use of mobile code in downloaded programs such as applets and servlets has increased interest in robust mechanisms for ensuring privacy and secrecy. Common security mechanisms such as sand boxing and access control are either too restrictive or too weak -- they prevent applications from sharing data usefully, or allow private information to leak. For example, security mechanisms in Java prevent many useful applications while still permitting Trojan horse applets to leak private information. This thesis describes the decentralized label model, a new model of information flow control that protects private data while allowing applications to share data. Unlike previous approaches to privacy protection based on information flow, this label model is decentralized: it allows cooperative computation by mutually distrusting principals, without mediation by highly trusted agents. Cooperative computation is possible because individual principals can declassify their own data without infringing on other principals' privacy. The decentralized label model permits programs using it to be checked statically, which is important for the precise detection of information leaks. This thesis also presents the new language J flow, an extension to the Java programming language that incorporates the decentralized label model and permits static checking of information flows within programs. Variable declarations in J flow programs are annotated with labels that allow the static checker to check programs for information leaks efficiently, in a manner similar to type checking. Often, these labels can be inferred automatically, so annotating programs is not onerous. Dynamic checks also may be used safely when static checks are insufficiently powerful. A compiler has been implemented for the J flow language. Because most checking is performed statically at compile time, the compiler generates code with few additional dynamic tests, improving performance.by Andrew C. Myers.Ph.D
Analyses and optimizations of timing-constrained embedded systems considering resource synchronization and machine learning approaches
Nowadays, embedded systems have become ubiquitous, powering a vast array of applications from consumer electronics to industrial automation. Concurrently, statistical and machine learning algorithms are being increasingly adopted across various application domains, such as medical diagnosis, autonomous driving, and environmental analysis, offering sophisticated data analysis and decision-making capabilities. As the demand for intelligent and time-sensitive applications continues to surge, accompanied by growing concerns regarding data privacy, the deployment of machine learning models on embedded devices has emerged as an indispensable requirement. However, this integration introduces both significant opportunities for performance enhancement and complex challenges in deployment optimization.
On the one hand, deploying machine learning models on embedded systems with limited computational capacity, power budgets, and stringent timing requirements necessitates additional adjustments to ensure optimal performance and meet the imposed timing constraints. On the other hand, the inherent capabilities of machine learning, such as self-adaptation during runtime, prove invaluable in addressing challenges encountered in embedded systems, aiding in optimization and decision-making processes.
This dissertation introduces two primary modifications for the analyses and optimizations of timing-constrained embedded systems. For one thing, it addresses the relatively long access times required for shared resources of machine learning tasks. For another, it considers the limited communication resources and data privacy concerns in distributed embedded systems when deploying machine learning models. Additionally, this work provides a use case that employs a machine learning method to tackle challenges specific to embedded systems.
By addressing these key aspects, this dissertation contributes to the analysis and optimization of timing-constrained embedded systems, considering resource synchronization and machine learning models to enable improved performance and efficiency in real-time applications with stringent constraints
Design and implementation of embedded adaptive controller using ARM processor.
This thesis is concerned with development of embedded adaptive controllers for industrial applications. Many industrial processes present challenging control problems such as high nonlinearity, time-varying dynamic behaviors, and unpredictable external disturbances. Conventional controllers are too limited to successfully resolve these problems. Therefore, the adaptive control strategy, an advanced control theory, is applied to overcome deficiencies of the conventional controllers
Towards feasible, machine-assisted verification of object-oriented programs
This thesis provides an account of a development of tools towards making verification of object-oriented programs more feasible. We note that proofs in program verification logics are typically long, yet, mathematically, not very deep; these observations suggest the thesis that computers can significantly ease the burden of program verification. We give evidence supporting this by applying computers to (1) automatically check and (2) automatically infer large parts of proofs. Taking the logic (AL) of Abadi and Leino as our starting point, we initially show how the logic can be embedded into a higher-order logic theorem prover, by way of introducing axioms, using a mix of both higher-order abstract syntax (HOAS) and a direct embedding of the assertion logic. The tenacity and exactness of the theorem prover ensures that no proof obligation is inadvertently lost during construction of a proof; we inherit any automatic facilities such as tactics which take us part way towards goal (2); and moreover, we achieve goal (1), since we inherit machine proofs which can be checked automatically. We present som
Extension polymorphism
Any system that models a real world application has to evolve to be consistent with its changing domain. Dealing with evolution in an effective manner is particularly important for those systems that may store large amounts of data such as databases and persistent languages. In persistent programming systems, one of the important issues in dealing with evolution is the specification of code that will continue to work in a type safe way despite changes to type definitions. Polymorphism is one mechanism which allows code to work over many types. Inclusion polymorphism is often said to be a model of type evolution. However, observing type changes in persistent systems has shown that types most commonly exhibit additive evolution. Even though inclusion captures this pattern in the case of record types, it does not always do so for other type constructors. The confusion of subtyping, inheritance and evolution often leads to unsound or at best, dynamically typed systems. Existing solutions to this problem do not completely address the requirements of type evolution in persistent systems. The aim of this thesis is to develop a form of polymorphism that is suitable for modelling additive evolution in persistent systems. The proposed strategy is to study patterns of evolution for the most generally used type constructors in persistent languages and to define a new relation, called extension, which models these patterns. This relation is defined independent of any existing relations used for dealing with evolution. A programming language mechanism is then devised to provide polymorphism over this relation. The polymorphism thus defined is called extension polymorphism. This thesis presents work involving the design and definition of extension polymorphism and an implementation of a type checker for this polymorphism. A proof of soundness for a type system which supports extension polymorphism is also presented
Fuzzy expert systems in civil engineering
Imperial Users onl