1,721,008 research outputs found
Evaluate Namespace as a Labeling System for Malware Detection
Nowadays, kernel tracing tools are built on limited Linux features. In this thesis, we explore a new method to help improving kernel tracing. We modified Memorizer, a novel kernel tracing tool that offers a comprehensive coverage of kernel accesses, and combined it with the Linux Namespace system. As an original compartment feature in Linux, introducing namespaces gives us a chance to describe kernel accesses and exploit behaviors in a different perspective. Experiments showed that our modified Memorizer can provide novel insights about how the kernel works between modules and containers. Moreover, we proposed a series of analysis methods that allows us to extract a small and unique profile for a certain exploit, which could contribute to developing security identifying software in the future
Exploring Superpage Promotion Policies for Efficient Address Translation
Address translation performance for modern applications depends heavily upon the number of translation entries cached in the hardware TLB (translation look-aside buffer). Therefore, the efficiency of address translation relies directly on the TLB hit rate. The number of TLB entries continues to fall further behind the growth of memory consumption for modern applications. Superpages, which are pages with larger sizes, can increase the efficiency of the TLB by enabling each translation entry to cover a larger memory region. Without requiring more TLB entries, using superpages can increase the TLB hit rate and benefit address translation. However, using superpages can bring overhead. The TLB uses a single dirty bit to mark a page as dirty during address translation before modifying the page, so the granularity of the dirty bit corresponds to the coverage of the translation entry. As a result, the OS (operating system) will pay extra I/O effort when it allocates or writes an underutilized superpage back to disk. Such extra overhead can easily surpass the address translation benefits of superpages. This thesis discusses the performance trade-offs of superpages by exploring the design space of superpage promotion policies in the OS. A data collection infrastructure is built based on QEMU with kernel instrumentation on FreeBSD to collaboratively collect both memory accesses and kernel events. Then, the TLB behavior of Intel Skylake x86 family processors is simulated. The simulation has been validated to be faithful and consistent with the real-world performance. Last, this thesis evaluates and compares both TLB performance benefits and I/O overheads among the superpage promotion policies to discuss the trade-offs in the design space
Improving Fairness in I/O Scheduling for Virtualized Environments
Modern virtualization systems must balance fair access to I/O resources while still maintaining high utilization of those resources. It is difficult to balance fairness and efficiency when scheduling disk accesses due to the non-uniform nature of disk I/O. Current open source virtualization systems, including Xen and KVM, utilize the stock Linux disk scheduler to provide access to storage. Although the Linux disk scheduler can provide good I/O performance for individual virtual machines, it does not necessarily provide equal access to disk I/O resources across competing virtual machines. This can result in unfair and unpredictable application I/O performance behavior among virtual machines.
This thesis presents the Virtual Deadline I/O Scheduler, a new disk scheduler that improves the fairness of scheduling I/O resources across virtual machines. The virtual deadline scheduler makes the Linux deadline I/O scheduler virtualization-aware, enabling it to schedule I/O requests more adaptively and fairly. In particular, request deadlines are dynamically determined based upon the level of service that has been provided to the vir- tual machine from which the request originated. The virtual deadline scheduler increases fairness of I/O performance while minimizing aggregate performance degradation
Characterization of block memory operations
Block memory operations are frequently performed by the operating system and consume an increasing fraction of kernel execution time. These operations include memory copies, page zeroing, interprocess communication, and networking. This thesis demonstrates that performance of these common OS operations is highly dependent on the cache state and future use pattern of the data. This thesis argues that prediction of both initial cache state and data reuse patterns can be used to dynamically select the optimal algorithm. It describes an innovative method for predicting the state of the cache by using a single cache-line probe. The performance of networking, which is dominated by kernel copies, is improved by the addition of dedicated hardware in the network interface. Finally, based upon the behavior of block memory operations, this thesis proposes improvements such as a hardware cache probe instruction, a dedicated memory controller copy engine, and centralized handling of block memory operations to improve performance in future systems
The Axon Ethernet device
Data centers are growing in importance since computation is moving from personal computers to the Internet. Data centers often use Ethernet as the network fabric; however Ethernet presents fundamental limitations to scalability.
This work examines the design, implementation, and characterization of the Axon, a network device that overcomes Ethernet's scalability limitations while maintaining the simplicity of such devices. Axons use cut-through routing to reduce the latency of communication and source-routing both to eliminate the spanning tree and to reduce state within the network.
Using just one redundant link in small network has been shown to give a 96% increase to UDP bandwidth and a 63% increase to TCP bandwidth. Experiments confirm that an Axon's latency is an order of magnitude faster than that of a store-and-forward switch in an uncongested network, thereby increasing the potential diameter and improving the scalability of an Ethernet network
Computer Science Education at Scale: Providing Personalized and Interactive Learning Experiences Within Large Introductory Courses
As a result, enrollment in undergraduate computer science programs has expanded rapidly. While the influx of talent into the field will undoubtedly lead to countless technological developments, this growth also brings new pedagogical challenges. Educational resources, ranging from instructional time to classroom space, are limited. In the face of these resource constraints, it is difficult to scale courses in a manner that still retains the personalization and interaction that are characteristic of a high-quality education. The challenges of scale are particularly pronounced in introductory courses, which typically attract large numbers of majors and non-majors alike.
This thesis aims to explore and tackle the pedagogical challenges within large introductory courses using three orthogonal means: data analysis, pedagogical tools, and structural innovations. First, this thesis presents a series of analyses on student-written code in order to characterize the mistakes that novice programmers make, and subsequently to inform the pedagogical choices that instructors make. Second, this thesis describes the design and implementation of two automated pedagogical tools, VizQuiz and Compigorithm. These tools provide interactive learning experiences that can scale to meet the demands of the growing numbers of students that are pursuing computer science without increasing the burden on the instructor. Last, this thesis examines the viability of structural innovations — in particular, collaborative online learning experiences — to scale an introductory computational thinking course, ultimately finding minimal statistically significant differences between the online and in-person sections of the course. Together, these three complementary lines of work advance the field of computer science education by empowering instructors of large computer science courses to provide learning experiences that are personalized, interactive, and scalable
A storage architecture for data-intensive computing
The assimilation of computing into our daily lives is enabling the generation of data at unprecedented rates. In 2008, IDC estimated that the "digital universe" contained 486 exabytes of data [9]. The computing industry is being challenged to develop methods for the cost-effective processing of data at these large scales. The MapReduce programming model has emerged as a scalable way to perform data-intensive computations on commodity cluster computers. Hadoop is a popular open-source implementation of MapReduce. To manage storage resources across the cluster, Hadoop uses a distributed user-level filesystem. This filesystem --- HDFS --- is written in Java and designed for portability across heterogeneous hardware and software platforms. The efficiency of a Hadoop cluster depends heavily on the performance of this underlying storage system.
This thesis is the first to analyze the interactions between Hadoop and storage. It describes how the user-level Hadoop filesystem, instead of efficiently capturing the full performance potential of the underlying cluster hardware, actually degrades application performance significantly. Architectural bottlenecks in the Hadoop implementation result in inefficient HDFS usage due to delays in scheduling new MapReduce tasks. Further, HDFS implicitly makes assumptions about how the underlying native platform manages storage resources, even though native filesystems and I/O schedulers vary widely in design and behavior. Methods to eliminate these bottlenecks in HDFS are proposed and evaluated both in terms of their application performance improvement and impact on the portability of the Hadoop framework.
In addition to improving the performance and efficiency of the Hadoop storage system, this thesis also focuses on improving its flexibility. The goal is to allow Hadoop to coexist in cluster computers shared with a variety of other applications through the use of virtualization technology. The introduction of virtualization breaks the traditional Hadoop storage architecture, where persistent HDFS data is stored on local disks installed directly in the computation nodes. To overcome this challenge, a new flexible network-based storage architecture is proposed, along with changes to the HDFS framework. Network-based storage enables Hadoop to operate efficiently in a dynamic virtualized environment and furthers the spread of the MapReduce parallel programming model to new applications
High-performance MPI libraries for Ethernet
A MPI library performs two tasks---computation on behalf of the application, and communication in the form of sending and receiving messages among processes forming the application. Efficient communication is key to a high-performance MPI library, and the use of specialized interconnect technologies has been a common way to achieve this goal. However, these custom technologies lack the portability and simplicity of a generic communication solution like TCP over Ethernet.
This thesis first shows that even though TCP is a higher overhead protocol than UDP, as a messaging medium it performs better than the latter, because of library-level reliability overheads with UDP. Then, the thesis presents a technique to separate computation and communication aspects of a MPI library, and handle each with the most efficient mechanism. The results show a significant improvement in performance of MPI libraries with this technique; bringing Ethernet closer to the specialized networks
Going Beyond Counting First Authors in Author Co-citation Analysis
The present study examines one of the fundamental aspects of author co-citation analysis (ACA) - the way co-citation
counts are defined. Co-citation counting provides the data on which all subsequent statistical analyses and mappings
are based, and we compare ACA results based on two different types of co-citation counting - the traditional type that
only counts the first one among a cited work's authors on the one hand and a non-traditional type that takes into
account the first 5 authors of a cited work on the other hand. Results indicate that the picture produced through this non-traditional author co-citation counting contains more coherent author groups and is therefore considerably clearer. However, this picture represents fewer specialties in the research field being studied than that produced through the traditional first-author co-citation counting when the same number of top-ranked authors is selected and analyzed. Reasons for these effects are discussed
- …
