Patent application number | Description | Published |
20140156910 | Automated Space Management for Server Flash Cache - Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes. | 06-05-2014 |
20140208001 | Techniques for Achieving Crash Consistency when Performing Write-Behind Caching Using a Flash Storage-Based Cache - Techniques for achieving crash consistency when performing write-behind caching using a flash storage-based cache are provided. In one embodiment, a computer system receives from a virtual machine a write request that includes data to be written to a virtual disk and caches the data in a flash storage-based cache. The computer system further logs a transaction entry for the write request in the flash storage-based cache, where the transaction entry includes information usable for flushing the data from the flash storage-based cache to a storage device storing the virtual disk. The computer system then communicates an acknowledgment to the VM indicating that the write request has been successfully processed. | 07-24-2014 |
20140244898 | I/O Hint Framework for Server Flash Cache - An I/O hint framework is provided. In one embodiment, a computer system can receive an I/O command originating from a virtual machine (VM), where the I/O command identifies a data block of a virtual disk. The computer system can further extract hint metadata from the I/O command, where the hint metadata includes one or more characteristics of the data block that are relevant for determining how to cache the data block in a flash storage-based cache. The computer system can then make the hint metadata available to a caching module configured to manage the flash storage-based cache. | 08-28-2014 |
20140245298 | Adaptive Task Scheduling of Hadoop in a Virtualized Environment - A control module is introduced to communicate with an application workload scheduler of a distributed computing application, such as a Job Tracker node of a Hadoop cluster, and with the virtualized computing environment underlying the application. The control module periodically queries for resource consumption data, such as CPU utilization, and uses the data to calculate how MapReduce task slots should be allocated on each task node of the Hadoop cluster. The control module passes the task slot allocation to the application workload scheduler, which honors the allocation by adjusting task assignments to task nodes accordingly. The task nodes may also activate and deactivate task slots according to the changed slot allocation. As a result, the distributed computing application is able to scale up and down when other workloads sharing the virtualized computing environment change. | 08-28-2014 |
20150067262 | THREAD CACHE ALLOCATION - Systems and techniques are described for thread cache allocation. A described technique includes monitoring input and output accesses for a plurality of threads executing on a computing device that includes a cache comprising a quantity of memory blocks, determining a respective reuse intensity for each of the threads, determining a respective read ratio for each of the threads, determining a respective quantity of memory blocks for each of the partitions by optimizing a combination of cache utilities, each cache utility being based on the respective reuse intensity, the respective read ratio, and a respective hit ratio for a particular partition, and resizing one or more of the partitions to be equal to the respective quantity of the memory blocks for the partition. | 03-05-2015 |
20150120994 | AUTOMATED SPACE MANAGEMENT FOR SERVER FLASH CACHE - Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes. | 04-30-2015 |
20160048881 | Maintaining Information Describing A Group Of Online System Users Specified By A Third-Party System - An online system receives information describing a target group of online system users from a third party system and determines whether to store the information describing the target group. Online system users included in the target group are identified and scores are determined for each of the identified user. A score associated with a user represents the online system's effectiveness in targeting content to the user via targeting criteria maintained by the online system. Based on the scores, the online system determines a group score associated with the target group and stores the information describing the target group if the group score satisfies one or more criteria. If the information describing the target group is stored, the online system may determine whether to continue storing the information describing the target group based on revenue obtained by the online system from presenting content based on the target group. | 02-18-2016 |
20160048882 | Determining Whether to Maintain Information Describing a Group of Online System Users Specified by a Third-Party System Based On Revenue from Content Selection Based On the Group - An online system receives information describing a target group of online system users from a third party system and stores the information describing the target group. The online system subsequently uses the target group to select content for presentation to one or more users. For example, users included in the target group are identified as eligible to be presented with content items. Based on revenue obtained by the online system from presenting content based on the target group, the online system determines a monetization value for the target group. The online system determines whether to continue storing the information describing the target group based on the monetization value. | 02-18-2016 |
20160078134 | DETERMINING ACCURACIES WITH WHICH TYPES OF USER IDENTIFYING INFORMATION IDENTIFY ONLINE SYSTEM USERS - An online system matches a user with a user of a third party system by comparing user identifying information maintained by the online system with user identifying information maintained by the third party system. To determine how accurately different types of user identifying information identify an online system user, types of user identifying information maintained by the online system are compared to types of user identifying information maintained by the third party system. A score is associated with various online system users based on the number of types of user identifying information associated with the user by the online system matching types of user identifying information associated with a third party system user. Based on the scores associated with different users, a measure of accuracy in identifying an online system user is determined for each type of user identifying information. | 03-17-2016 |