Modern software systems make extensive use of libraries derived from C and C++. Because of the lack of memory safety in these languages, however, the libraries may suffer from vulnerabilities, which can expose the applications to potential attacks. For example, a very large number of return-oriented programming gadgets exist in glibc that allow stitching together semantically valid but malicious Turing-complete and -incomplete programs. While CVEs get discovered and often patched and remedied, such gadgets serve as building blocks of future undiscovered attacks, opening an ever-growing set of possibilities for generating malicious programs. Thus, significant reduction in the quantity and expressiveness (utility) of such gadgets for libraries is an important problem.In this work, we propose a new approach for handling an application's library functions that focuses on the principle of łgetting only what you want.ž This is a significant departure from the current approaches that focus on łcutting what is unwanted. ž Our approach focuses on activating/deactivating library functions on demand in order to reduce the dynamically linked code surface, so that the possibilities of constructing malicious programs diminishes substantially. The key idea is to load only the set of library functions that will be used at each library call site within the application at runtime. This approach of demand-driven loading relies on an input-aware oracle that predicts a near-exact set of library
Metadata is an important and highly valuable part of any digital asset management (DAM) system. The metadata turns a digital file into an asset by allowing the digital file to be retrieved from the system, shared between users and reused by the business. Before you start to define the metadata model for your DAM system there are several key business decisions that need to be understood, such as the purpose of your DAM system and the amount of time and money you are willing to spend on metadata capture. The timing of the model definition is critical to the overall success of the DAM system deployment and the model should continue to meet the changing needs of the business-users. What is the best way to create a sustainable metadata model? THE VALUE OF METADATAWhen digital asset management (DAM) systems were first developed, early users of DAM were primarily focused on ingesting the digital files into the system. Users did not seem too worried about how they were going to retrieve the assets from the system in order to realize their value to the business. But over the past several years there has been a notable shift and users now understand that the right metadata can turn a digital file into a reuseable asset. Identifying exactly which metadata will be useful is a daunting task as mistakes can be expensive. So here are some guidelines that will hopefully demystify metadata definition and help you define a successful metadata model that will meet the current and changing needs of your business.Metadata is the descriptive information used to identify a digital file within a DAM system. Metadata turns a digital file into a digital asset by allowing it to be retrieved from the DAM system, shared between users and reused by the business. Metadata is usually held in specific fields and includes data such as a unique asset identification number, a caption, rights and permissions data and keywords. A metadata schema or model is a consistent set of data fields used to describe all your digital files and it should support the business purpose of your DAM system. SOME KEY DECISIONSWhen the metadata schema has been defined, the capture of the data for each digital file can be a time-consuming and expensive task. It is therefore important
Modern computing platforms tend to deploy multiple GPUs (2, 4, or more) on a single node to boost system performance, with each GPU having a large capacity in terms of global memory and streaming multiprocessors (SMs). GPUs are an expensive resource, and boosting utilization of GPUs without causing performance degradation of individual workloads is an important and challenging problem to be solved. Although services such as MPS provide the support for simultaneously executing multiple co-operative kernels on a single device, they do not solve the above problem for uncooperative 1 kernels, MPS being oblivious to the resource needs of each kernel.To tackle this problem, we propose a fully automated compilerassisted scheduling framework. The compiler constructs GPU tasks by identifying kernel launches and their related GPU operations (e.g. memory allocations). For each GPU task, a probe is instrumented in the host-side code right before its launch point. At runtime, the probe conveys the information about the task's resource requirements (e.g. memory and compute cores) to a scheduler, such that the scheduler can place the task on an appropriate device based on the task's resource requirements and devices' load in a memory-safe, resource-aware manner. To demonstrate its advantages, we prototyped a throughputoriented scheduler based on the framework, and evaluated it with the Rodinia benchmark suite and the Darknet neural network framework on NVIDIA GPUs. The results show that the proposed solution outperforms existing state-of-the-art solutions by leveraging its knowledge about applications' multiple resource requirements, which include memory as well as SMs. It improves throughput by up to 2.5× for Rodinia benchmarks, and up to 2.7× for Darknet neural networks. In addition, it improves job turnaround time by up to 4.9×, and limits individual kernel performance degradation to at most 2.5%.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.