摘要:
Methods and systems for launching applications on a computing device are disclosed. An exemplary method may include gathering data in connection with a launch of each of the applications that indicates one or more events occurring in connection with the launch of each application. When an indication of a particular event occurring is received, one or more out-of-memory values are modified based upon the data and the particular event. The out-of-memory values are indicative of a priority in which corresponding background applications are killed from running in the background of the computing device when memory runs low. When memory runs low on the computing device, one or more of the background applications are killed based upon the out-of-memory values to leave background applications running that a user is more likely to launch than the killed applications.
摘要:
In a computer system in which a virtualization control unit controls a plurality of virtual machines, if memory is collected regardless of a memory usage status of the virtual machine, cache miss increases and an IO performance of overall system deteriorates. In order to solve this problem, a usage status of a cache region within a memory which is utilized by each OS that the plurality of the virtual machines has, and based on a monitoring result, the virtualization control unit decides an allocation region of the memory as a collection target among the allocation region of the memory already allocated to each OS, and collects the allocation region of the memory as the collection target from the OS as a current allocation destination.
摘要:
Managing data in a computing system comprising one or more cores includes: providing a cache in each of one or more of the cores that includes multiple storage locations; storing data of a first type of multiple types of data in a selected storage location of a first cache of a first core that is selected according to status information associated with the first cache, and updating the status information; and storing data of a second type of the multiple types of data in a storage location within a subset of fewer than all of the storage locations of the first cache and managing the status information to ensure that subsequent data of the second type received by the first core for storage in the first cache is stored in the storage location within the subset.
摘要:
A method and apparatus of a device for performance management by terminating application programs that consume an excessive amount of system resources is described. The device receives a resource consumption threshold and a detection period. The device further monitors a resource usage of an application program. The device determines whether the resource usage of the application program exceeds the resource consumption threshold for the detection period. The device further terminates the application program when the resource usage exceeds the resource consumption threshold for the detection period.
摘要:
Particular techniques for improving the scalability of concurrent programs (e.g., lock-based applications) may be effective in some environments and for some workloads, but not others. The systems described herein may automatically choose appropriate ones of these techniques to apply when executing lock-based applications at runtime, based on observations of the application in the current environment and with the current workload. In one example, two techniques for improving lock scalability (e.g., transactional lock elision using hardware transactional memory, and optimistic software techniques) may be integrated together. A lightweight runtime library built for this purpose may adapt its approach to managing concurrency by dynamically selecting one or more of these techniques (at different times) during execution of a given application. In this Adaptive Lock Elision approach, the techniques may be selected (based on pluggable policies) at runtime to achieve good performance on different platforms and for different workloads.
摘要:
Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.
摘要:
Disclosed are various embodiments for a deployment management system. A second version of a deployable application is executed concurrently with a first version. Network traffic sent to the first version of the application is redirected to the second version. In the event of an error, network traffic is directed back to the first version of the application. After a period of concurrent execution, the first version of the application is terminated.
摘要:
The subject matter of this specification can be embodied in, among other things, a method that includes executing one or more computer applications and ranking the applications according to one or more criteria that change in response to a user's interaction with the applications. State information for certain of the one or more applications is saved and one or more applications are terminated in response to a memory condition. Subsequently, one of the terminated applications is revived using the saved state information.
摘要:
A system for allocating resources to demand requests is set forth. The system is configured to identify a set of resource requirements based on a demand request. The system is also configured to choose a resource that satisfies at least one of the identified resource requirements. The system is further configured to allocate the selected resource to the demand request based on whether a client can satisfy a locking prerequisite associated with the selected resource.
摘要:
Computerized methods, computer systems, and computer-readable media for governing how virtual processors are scheduled to particular logical processors are provided. A scheduler is employed to balance a load imposed by virtual machines, each having a plurality of virtual processors, across various logical processors (comprising a physical machine) that are running threads in parallel. The threads are issued by the virtual processors and often cause spin waits that inefficiently consume capacity of the logical processors that are executing the threads. Upon detecting a spin-wait state of the logical processor(s), the scheduler will opportunistically grant time-slice extensions to virtual processors that are running a critical section of code, thus, mitigating performance loss on the front end. Also, the scheduler will mitigate performance loss on the back end by opportunistically de-scheduling then rescheduling a virtual machine in a spin-wait state to render the logical processor(s) available for other work in the interim.