Cybersecurity education has been emphasized by several national organizations in the United States, including the National Academy of Engineering, which recognizes securing cyberspace as one of the 14 Engineering Grand Challenges. To prepare students for such challenges and to enhance cybersecurity education opportunities at our large research university, we implemented an NSF-funded cybersecurity education project. This project is a collaborative effort between faculty and graduate students in the Engineering Education, Computer Science (CS) and Computer Engineering (CPE) departments at a major US research university. In this effort, we integrated cybersecurity learning modules into multiple existing core CS and CPE courses following Jerome Bruner's spiral-theory model, which has previously been used to reformulate several academic curricula. In this paper, we present our cybersecurity curriculum initiative, describe the spiral-theory based process we developed to implement the curriculum and provide an in-depth description of four reusable cybersecurity learning modules that we developed. A core tenet of spiral theory holds to revisit topics as students advance through their curriculum. This work applies this approach to Cybersecurity education by carefully designing the learning objectives of the modules and its contents. For evaluating these learning modules we implemented pre and post-tests to assess students' technical knowledge, their perceptions towards the modules' learning objectives, and how it influenced their motivation to learn cybersecurity. Our findings are overwhelmingly positive and the students' feedback has helped us improve these learning modules. Since its inception, our initiative has educated more than $2\,000$ students and is currently being used to revise the affected courses' syllabi.
The current emphasis on cybersecurity worldwide, demonstrates the importance of this topic. This poster describes a unique NSF funded project that aims to create cybersecurity education opportunities at Virginia Tech (VT). It is a collaborative effort among faculty and graduate students in the Engineering Education, Computer Science (CS), Electrical and Computer Engineering (includes two majors, Electrical Engineering (EE) and Computer Engineering (CPE)) Departments, and the Hume Center in the College of Engineering at VT. The goal is to integrate cybersecurity modules into eight required CS and CPE courses, from freshman to junior levels, utilizing Jeremy Bruner's spiral-theory-based1,2 curriculum model. A spiraling theme of "handling threats to software for securing information" is chosen that will be returned to repeatedly as learners advance in their knowledge and intellectual capacity. Cybersecurity goals of the Confidentiality, Integrity, Availability, Authenticity, Anonymity, Assurance (CIA/AAA) triad, as appropriate for various academic levels, are adopted to develop the cybersecurity modules. Each module engages students in an authentic activity that reinforces the cybersecurity concepts. The project includes an engineering education research component, which is focused on evaluating the effectiveness of the curriculum in enhancing students' knowledge, skills, and motivation in cybersecurity concepts. The first year of the project has been completed by introducing cybersecurity modules into four courses (CS: Introduction to Software Design, and Software Design and Data Structures, and CPE: Engineering Problem Solving with C++, and Data Structures and Algorithms) impacting ~1600 students. The details of curriculum development, implementation and, preliminary findings of the research will be presented.
This paper presents a framework for a senior-level capstone design course. This structure is currently used in a one-semester course for Computer Engineering undergraduates at Virginia Tech entitled "Embedded Systems Design." The course has been taught in its current form over the past fourteen semesters. The course structure has been continually refined and tested, providing a solid framework upon which to develop a capstone design course. This course structure has allowed for the preservation of the underlying course organization, while allowing the project description and course details to change each semester. Students work in teams, and each team works within a common framework of tools, support, and base project description. Teams, however, must come up with their own solutions to satisfy the project goals. The common course framework allows us to provide effective student support, yet the open-endedness of solutions allows students to be creative and employ critical thinking. The role of the instructor and graduate teaching assistant is to act more as facilitators than as lecturers. Students are evaluated as individuals and teams with regular milestones, required documentation, and weekly meetings. Milestones work toward, and culminate, in a final project demonstration. Lastly we present student feedback on the perceived effectiveness of this framework.
Multi-core, multi-processor, and Graphics Processing Unit (GPU) computer architectures pose significant challenges with respect to the efficient exploitation of parallelism for large-scale, scientific computing simulations. For example, a simulation of the human tonsil at the cellular level involves the computation of the motion and interaction of millions of cells over extended periods of time. Also, the simulation of Radiative Heat Transfer (RHT) effects by the Photon Monte Carlo (PMC) method is an extremely computationally demanding problem. The PMC method is example of the Monte Carlo simulation method—an approach extensively used in wide of application areas. Although the basic algorithmic framework of these Monte Carlo methods is simple, they can be extremely computationally intensive. Therefore, an efficient parallel realization of these simulations depends on a careful analysis of the nature these problems and the development of an appropriate software framework. The overarching goal of this dissertation is develop and understand what the appropriate parallel programming model should be to exploit these disparate architectures, both from the metric of efficiency, as well as from a software engineering perspective. In this dissertation we examine these issues through a performance study of PathSim2, a software framework for the simulation of large-scale biological systems, using two different parallel architectures—distributed and shared memory. First, a message-passing implementation of a multiple germinal center simulation by PathSim2 is developed and analyzed for distributed memory architectures. Second, a germinal center simulation is implemented on shared memory architecture with two parallelization strategies based on Pthreads and OpenMP.Finally, we present work targeting a complete hybrid, parallel computing architecture. With this work we develop and analyze a software framework for generic Monte Carlo simulations implemented on multiple, distributed memory nodes consisting of a multi-core architecture with attached GPUs. This simulation framework is divided into two asynchronous parts: (a) a threaded, GPU-accelerated pseudo-random number generator (or producer), and (b) a multi-threaded Monte Carlo application (or consumer). The advantage of this approach is that this software framework can be directly used within any Monte Carlo application code, without requiring application-specific programming of the GPU. We examine this approach through a performance study of the simulation of RHT effects by the PMC method on a hybrid computing architecture. We present a theoretical analysis of our proposed approach, discuss methods to optimize performance based on this analysis, and compare this analysis to experimental results obtained from simulations run on two different hybrid, parallel computing architectures.
Germinal centers (GCs) are complex dynamic structures that form within lymph nodes as an essential process in the humoral immune response. They represent a paradigm for studying the regulation of cell movement in the development of complex anatomical structures. We have developed a simulation of a modified cyclic re-entry model of GC dynamics which successfully employs chemotaxis to recapitulate the anatomy of the primary follicle and the development of a mature GC, including correctly structured mantle, dark and light zones. We then show that correct single cell movement dynamics (including persistent random walk and inter-zonal crossing) arise from this simulation as purely emergent properties. The major insight of our study is that chemotaxis can only achieve this when constrained by the known biological properties that cells are incompressible, exist in a densely packed environment, and must therefore compete for space. It is this interplay of chemotaxis and competition for limited space that generates all the complex and biologically accurate behaviors described here. Thus, from a single simple mechanism that is well documented in the biological literature, we can explain both higher level structure and single cell movement behaviors. To our knowledge this is the first GC model that is able to recapitulate both correctly detailed anatomy and single cell movement. This mechanism may have wide application for modeling other biological systems where cells undergo complex patterns of movement to produce defined anatomical structures with sharp tissue boundaries.
Monte Carlo simulations are extensively used in wide of application areas. Although the basic framework of these is simple, they can be extremely computationally intensive. In this paper we present a software framework partitions a generic Monte Carlo simulation into two asynchronous parts: (a) a threaded, GPU-accelerated pseudo-random number generator (or producer), and (b) a multi-threaded Monte Carlo application (or consumer). The advantage of this approach is that this software framework can be directly used in most any Monte Carlo application without requiring application-specific programming of the GPU. We present an analysis of the performance of this software framework. Finally, we compare this analysis to experimental results obtained from our implementation of this software framework.
Multi-scale modeling, the simulation of coupled physical processes that occur on different temporal or spatial scales, is becoming an increasingly important area of research in computational science. Solving such problems can be computationally intensive; however, because of the increasing availability of large computational resources, their solution can be feasible. An important multi-scale application is the numerical simulation of combustion. In combustion, three different physical processes govern the dynamics of the problem: fluid flow (which can be turbulent or laminar), chemical reactions, and heat transfer, with radiative heat transfer being a dominant mode. The objective of this thesis is to create efficient sequential and parallel algorithms and software that improve accuracy and performance of combustion applications. Another purpose of this work is to create clean, easy-to-use software interfaces that can be readily used from both C/C++ and FORTRAN applications without significant changes to the original code. In this thesis, we introduce two new software systems that enable modeling of multi-scale phenomena in combustion applications on single processor and distributed memory multiprocessor systems and improve their accuracy and performance. The first system is called the Database On-Line for Efficient Function Approximation (DOLFA) for speeding up chemistry calculations in combustion applications. A second system, called Photon Monte Carlo (PMC) [1], is used for solving the Radiative Transfer Equation (RTE) by calculating the radiative heat fluxes for the volume elements of a computational mesh. The PMC software system is capable of handling computational domains with complex enclosures and various radiation configurations.
An effective approach for improving the efficiency of multi-scale combustion simulations is the use of on-line scientific databases. These databases allow for the approximation of computationally expensive functions by archiving previously computed exact values. A sequential software implementation of these database algorithms has proven to be extremely effective in decreasing the running time of complex reacting flow simulations. To enable the use of this approach on parallel computers, in this paper we introduce three heuristics for coordinating the distributed management of the database. We compare the performance of these heuristics on two limiting case test problems. These experiments demonstrate that a hybrid communication strategy offers the best promise for a large-scale, parallel implementation.
Previous chapter Next chapter Software, Environments, and Tools Parallel Processing for Scientific Computing8. Parallel Adaptive Mesh RefinementLori Freitag Diachin, Richard Hornung, Paul Plassmann, and Andy WissinkLori Freitag Diachin, Richard Hornung, Paul Plassmann, and Andy Wissinkpp.143 - 162Chapter DOI:https://doi.org/10.1137/1.9780898718133.ch8PDFBibTexSections ToolsAdd to favoritesExport CitationTrack CitationsEmail SectionsAboutExcerpt As large-scale, parallel computers have become more widely available and numerical models and algorithms have advanced, the range of physical phenomena that can be simulated has expanded dramatically. Many important science and engineering problems exhibit solutions with localized behavior where highly detailed salient features or large gradients appear in certain regions which are separated by much larger regions where the solution is smooth. Examples include chemically reacting flows with radiative heat transfer, high Reynolds-number flows interacting with solid objects, and combustion problems where the flame front is essentially a two-dimensional sheet occupying a small part of a three-dimensional domain. Modeling such problems numerically requires approximating the governing partial differential equations on a discrete domain, or grid. Grid spacing is an important factor in determining the accuracy and cost of a computation. A fine grid may be needed to resolve key local features, while a much coarser grid may suffice elsewhere. Employing a fine grid everywhere may be inefficient at best and, at worst, may make an adequately resolved simulation impractical. Moreover, the location and resolution of fine grid required for an accurate solution is a dynamic property of a problem's transient features and may not be known a priori. Adaptive mesh refinement (AMR) is a technique that can be used with both structured and unstructured meshes to adjust local grid spacing dynamically to capture solution features with an appropriate degree of resolution. Thus, computational resources can be focused where and when they are needed most to efficiently achieve an accurate solution without incurring the cost of a globally fine grid. Figure 8.1 shows two example computations using AMR. On the left is a structured mesh calculation of an impulsively sheared contact surface [3], and on the right is the fuselage and volume discretization of an RAH-66 Comanche helicopter [37]. Note the ability of both meshing methods to resolve simulation details by varying the local grid spacing. Previous chapter Next chapter RelatedDetails Published:2006ISBN:978-0-89871-619-1eISBN:978-0-89871-813-3 https://doi.org/10.1137/1.9780898718133Book Series Name:Software, Environments, and ToolsBook Code:SE20Book Pages:xxiv + 383Key words:Parallel processing, scientific computing, parallel algorithms, high-performance computing, computational science and engineering
The computation of radiative effects by the Photon Monte Carlo method is computationally demanding, especially when complex, nongray absorption models are employed. To solve such computationally expensive problems we have developed a parallel software framework for the photon Monte Carlo method based on ray tracing to compute radiative heat transfer effects. The central problem with obtaining scalable performance for this method is that widely varying physical properties over the computational domain result in highly skewed processor work assignment. In this paper we present computational results that demonstrate the effectiveness of a geometry based, domain partitioning heuristic with element weights for solving this load balancing problem. We present computational results that compare this heuristic to competing schemes for a representative combustion problem.
Radiative heat transfer plays a central role in many combustion and engineering applications. Because of its highly nonlinear and nonlocal nature, the computational cost can be extremely high to model radiative heat transfer effects accurately. In this paper, we present a parallel software framework for distributed memory architectures that implements the photon Monte Carlo method of ray tracing to simulate radiative effects. Our primary focus is on applications such as fluid flow problems in which radiation plays a significant role, such as in combustion. We demonstrate the scalability of the framework for two representative combustion test problems, and address the load balancing problem resulting from widely varying physical properties such as optical thickness. This framework allows for the incorporation of other, user-specified radiative properties, which should enable its use within a wide variety of other applications.
John Harer合作论文数Department of Mathematics2
Godmar Back合作论文数Dawson Engler's Meta-Level Compilation Group at Stanford2