29 research outputs found

    Routing and Caching Strategy in Information-Centric Network (ICN)

    Get PDF
    The main usage of Internet today is content distribution and retrieval. In todayโ€™s Internet, connections and data exchanging can only happen between hosts, which is also called host centric end-to-end communication. As the network users and demand of contents grows quickly, current network paradigm is getting more and more complicated and can barely meet the needs in the future. Recently, the architecture of information/content centric networking (ICN) has been proposed and is expected to replace the current communication model. As an in-network caching system, the cache management scheme is a key factor of ICN. To improve the performance of this architecture, a lot of effort has been put by many researchers into this area. In this paper, a new strategy about content caching and routing is introduced. And the results of this new scheme show that this strategy leads to a good performance, i.e., the new scheme can reach less hops, when comparing with regular LRU cache strategy. And less hops means the requested object can be found in nearer routers, the network traffic, hence, is reduced

    CRAID: Online RAID upgrades using dynamic hot data reorganization

    Get PDF
    Current algorithms used to upgrade RAID arrays typically require large amounts of data to be migrated, even those that move only the minimum amount of data required to keep a balanced data load. This paper presents CRAID, a self-optimizing RAID array that performs an online block reorganization of frequently used, long-term accessed data in order to reduce this migration even further. To achieve this objective, CRAID tracks frequently used, long-term data blocks and copies them to a dedicated partition spread across all the disks in the array. When new disks are added, CRAID only needs to extend this process to the new devices to redistribute this partition, thus greatly reducing the overhead of the upgrade process. In addition, the reorganized access patterns within this partition improve the arrayโ€™s performance, amortizing the copy overhead and allowing CRAID to offer a performance competitive with traditional RAIDs. We describe CRAIDโ€™s motivation and design and we evaluate it by replaying seven real-world workloads including a file server, a web server and a user share. Our experiments show that CRAID can successfully detect hot data variations and begin using new disks as soon as they are added to the array. Also, the usage of a dedicated partition improves the sequentiality of relevant data access, which amortizes the cost of reorganizations. Finally, we prove that a full-HDD CRAID array with a small distributed partition (<1.28% per disk) can compete in performance with an ideally restriped RAID-5 and a hybrid RAID-5 with a small SSD cache.Peer ReviewedPostprint (published version

    Evaluation of Load Scheduling Strategies for Real-Time Data Warehouse Environments

    Get PDF
    The demand for so-called living or real-time data warehouses is increasing in many application areas, including manufacturing, event monitoring and telecommunications. In fields like these, users normally expect short response times for their queries and high freshness for the requested data. However, it is truly challenging to meet both requirements at the same time because of the continuous flow of write-only updates and read-only queries as well as the latency caused by arbitrarily complex ETL processes. To optimize the update flow in terms of data freshness maximization and load minimization, we propose two algorithms - local and global scheduling - that operate on the basis of different system information. We want to discuss the benefits and drawbacks of both approaches in detail and derive recommendations regarding the optimal scheduling strategy for any given system setup and workload

    Multi-level Hybrid Cache: Impact and Feasibility

    Get PDF
    Storage class memories, including flash, has been attracting much attention as promising candidates fitting into in today's enterprise storage systems. In particular, since the cost and performance characteristics of flash are in-between those of DRAM and hard disks, it has been considered by many studies as an secondary caching layer underneath main memory cache. However, there has been a lack of studies of correlation and interdependency between DRAM and flash caching. This paper views this problem as a special form of multi-level caching, and tries to understand the benefits of this multi-level hybrid cache hierarchy. We reveal that significant costs could be saved by using Flash to reduce the size of DRAM cache, while maintaing the same performance. We also discuss design challenges of using flash in the caching hierarchy and present potential solutions

    KSM++: Using I/O-based hints to make memory-deduplication scanners more efficient

    Get PDF
    Memory scanning deduplication techniques, as implemented in Linux\u27 Kernel Samepage Merging (KSM), work very well for deduplicating fairly static, anonymous pages with equal content across different virtual machines. However, scanners need very aggressive scan rates when it comes to identifying sharing opportunities with a short life span of up to about 5 min. Otherwise, the scan process is not fast enough to catch those short-lived pages. Our approach generates I/O-based hints in the host to make the memory scanning process more efficient, thus enabling it to find and exploit short-lived sharing opportunities without raising the scan rate. Experiences with similar techniques for paravirtualized guests have shown that pages in a guest&#8217;s unified buffer cache are good sharing candidates. We already identify such pages in the host when carrying out I/O-operations on behalf of the guest. The target/source pages in the guest can safely be assumed to be part of the guest&#8217;s unified buffer cache. That way, we can determine good sharing hints for the memory scanner. A modification of the guest is not required. We have implemented our approach in Linux. By modifying the KSM scanning mechanism to process these hints preferentially, we move the associated sharing opportunities earlier into the merging stage. Thereby, we deduplicate more pages than the baseline system. In our evaluation, we identify sharing opportunities faster and with less overhead than the traditional linear scanning policy. KSM needs to follow about seven times as many pages as we do, to find a sharing opportunity

    ๋ฐ์ดํ„ฐ ์ง‘์•ฝ์  ์‘์šฉ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ I/O ์ตœ์ ํ™”

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(์„์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :๊ณต๊ณผ๋Œ€ํ•™ ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€,2019. 8. ๊น€์ง€ํ™.์˜ค๋Š˜๋‚ ์—๋Š” ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ง‘์•ฝ์ ์ธ ์‘์šฉ์ด ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‘์šฉ๋“ค์€ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•˜๋Š” ๋“ฑ ๋งŽ์€ I/O๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ, ์‹œ์Šคํ…œ์ด I/O๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์†๋„์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ๋–จ์–ด์ง€๋Š” ์ €์žฅ ์žฅ์น˜๋กœ์˜ ์ ‘๊ทผ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ํŒŒ์ผ I/O์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ ์ž ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ๋ถ€๋ฅผ ํŽ˜์ด์ง€ ์บ์‹œ๋กœ ํ• ๋‹นํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ์ €์žฅ ์žฅ์น˜์— ๋น„ํ•ด ํฌ๊ฒŒ ์ œํ•œ๋˜์–ด ์žˆ์–ด, ํŒŒ์ผ I/O์˜ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•ž์œผ๋กœ ์ฐธ์กฐ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๋ณด๊ด€ํ•˜๊ณ  ์ฐธ์กฐ๋˜์ง€ ์•Š์„ ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œ๋กœ๋ถ€ํ„ฐ ๋‚ด๋ณด๋‚ด๋ฉฐ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์•ž์œผ๋กœ ์ฐธ์กฐ๋ ์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐธ์กฐ๋˜์ง€ ์•Š์„์ง€์— ๋Œ€ํ•ด์„œ ์‹œ์Šคํ…œ์ด ์ž์ฒด์ ์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ, ์‹œ์Šคํ…œ๋ณด๋‹ค ์ƒ์œ„ ๊ณ„์ธต์—์„œ์˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๋…ธ๋ ฅ ์—†์ด๋Š” I/O ์ตœ์ ํ™”์— ์žˆ์–ด ๋ช…๋ฐฑํ•œ ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์‘์šฉ์ด I/O๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋งฅ๋ฝ, ์ฆ‰ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ I/O๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ ๊ณผ ๊ทธ ํŒจํ„ด์„ ์ž๋™์œผ๋กœ ํŒŒ์•…ํ•˜์—ฌ ๋ถ„์„ํ•˜๋Š” ๊ธฐ๋ฒ•๊ณผ, ์ด๋ฅผ ํ†ตํ•ด ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ๊ฐ๊ฐ์˜ I/O๊ฐ€ ๋ฐœ์ƒํ•œ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ์— ์ ์šฉํ•  ์ตœ์ ํ™” ๋ฐฉ์•ˆ ์ถ”์ฒœ์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์ œ์•ˆํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์—์„œ ์ž์ฒด์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์—†๋Š” ๋‹ค์–‘ํ•œ ํžŒํŠธ๋ฅผ ์‚ฌ์ „์— ์ œ๊ณตํ•˜๊ณ , ์ด ์ •๋ณด๋ฅผ ์‹œ์Šคํ…œ์ด ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ์ด์ „๋ณด๋‹ค ํšจ์œจ์ ์ธ I/O๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.Many kinds of data intensive applications are broadly utilized nowadays. These applications generate a lot of I/O such as analyzing a large amount of data, structuring the data and storing it in the storage, and the performance is greatly influenced by the speed of the I/O the system performs. The operating system allocates a portion of main memory to the page cache to maximize the performance of file I/O by minimizing access to the storage device which is much lower in performance than main memory. However, since the size of memory is limited compared to the size of the storage device, it is very important to keep the data to be referenced to in future and to export the data not to be referenced from the cache and to manage efficiently to improve the performance of the file I/O. However, it is impossible for the system to predict perfectly about which data will be referenced in the future and which data will not be. Thus, without I/O optimization at the application level, there is a clear limit to performance improvement. In this thesis, we propose a method to automatically detect and analyze I/O characteristics based on I/O program contexts of which an application executes I/O. We propose a technique to automate the optimization recommendation to be applied to the program context in which I/O occurs. Through this, the application can provide various hints to the system that can not be grasped by the system itself, and the system actively reflects this information so that I/O can be performed faster and resources can be used more efficiently than before.์ œ 1 ์žฅ ์„œ ๋ก  1 ์ œ 1 ์ ˆ ์—ฐ๊ตฌ์˜ ๋ฐฐ๊ฒฝ 1 ์ œ 2 ์ ˆ ์—ฐ๊ตฌ์˜ ๋ชฉ์  ๋ฐ ๊ธฐ์—ฌ 4 ์ œ 3 ์ ˆ ๋…ผ๋ฌธ ๊ตฌ์„ฑ 8 ์ œ 2 ์žฅ ๊ด€๋ จ ์—ฐ๊ตฌ 9 ์ œ 1 ์ ˆ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•œ ๋ฒ„ํผ ์บ์‹ฑ 9 ์ œ 2 ์ ˆ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ ๊ธฐ๋ฒ• 13 ์ œ 3 ์žฅ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ์— ๊ธฐ๋ฐ˜ํ•œ ์‘์šฉ I/O ๋ถ„์„ 19 ์ œ 1 ์ ˆ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ์˜ ์ •์˜์™€ ์ถ”์ถœ ๋ฐฉ๋ฒ• 19 ์ œ 2 ์ ˆ PCStat: ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ์— ๋”ฐ๋ฅธ I/O ํŒจํ„ด ๋ถ„์„ 22 ์ œ 3 ์ ˆ I/O ์“ฐ๋ ˆ๋“œ ํ™˜๊ฒฝ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ์˜ ์ถ”์ถœ ๊ธฐ๋ฒ• 28 ์ œ 4 ์žฅ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ์— ๊ธฐ๋ฐ˜ํ•œ I/O ์ตœ์ ํ™” ์ ์šฉ 30 ์ œ 1 ์ ˆ ํŽ˜์ด์ง€ ์บ์‹œ์— ์ œ๊ณตํ•˜๋Š” ํžŒํŠธ 30 ์ œ 2 ์ ˆ fadvise ์ ์šฉ์„ ํ†ตํ•œ ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ I/O ์ตœ์ ํ™” 32 ์ œ 3 ์ ˆ PCAdvisor: ํ”„๋กœ๊ทธ๋žจ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ I/O ์ตœ์ ํ™” ์ž๋™ํ™” 35 ์ œ 5 ์žฅ ํ‰๊ฐ€ ์‹คํ—˜ 38 ์ œ 1 ์ ˆ ์‹คํ—˜ ํ™˜๊ฒฝ 38 ์ œ 2 ์ ˆ ์‹คํ—˜ ๊ฒฐ๊ณผ 39 ์ œ 6 ์žฅ ๊ฒฐ ๋ก  44 ์ œ 1 ์ ˆ ๊ฒฐ๋ก  ๋ฐ ํ–ฅํ›„ ๊ณ„ํš 44 ์ฐธ๊ณ ๋ฌธํ—Œ 46 Abstract 49Maste

    My cache or yours? Making storage more exclusive

    No full text
    Modern high-end disk arrays often have several gigabytes of cache RAM. Unfortunately, most array caches use management policies which duplicate the same data blocks at both the client and array levels of the cache hierarchy: they are inclusive. Thus, the aggregate cache behaves as if it was only as big as the larger of the client and array caches, instead of as large as the sum of the two. Inclusiveness is wasteful: cache RAM is expensive. We explore the benefits of a simple scheme to achieve exclusive caching, in which a data block is cached at either a client or the disk array, but not both. Exclusiveness helps to create the effect of a single, large unified cache. We introduce a DEMOTE operation to transfer data ejected from the client to the array, and explore its effectiveness with simulation studies. We quantify the benefits and overheads of demotions across both synthetic and real-life workloads. The results show that we can obtain useful---sometimes substantial---speedups. During our investigations, we also developed some new cache-insertion algorithms that show promise for multi-client systems, and report on some of their properties

    My cache or yours? Making storage more exclusive

    No full text
    Modern high-end disk arrays often have several gigabytes of cache RAM. Unfortunately, most array caches use management policies which duplicate the same data blocks at both the client and array levels of the cache hierarchy: they are inclusive. Thus, the aggregate cache behaves as if it was only as big as the larger of the client and array caches, instead of as large as the sum of the two. Inclusiveness is wasteful: cache RAM is expensive. We explore the benefits of a simple scheme to achieve exclusive caching, in which a data block is cached at either a client or the disk array, but not both. Exclusiveness helps to create the effect of a single, large unified cache. We introduce a DEMOTE operation to transfer data ejected from the client to the array, and explore its effectiveness with simulation studies. We quantify the benefits and overheads of demotions across both synthetic and real-life workloads. The results show that we can obtain useful -- sometimes substantial -- speedups. During our investigations, we also developed some new cache-insertion algorithms that show promise for multi-client systems, and report on some of their properties
    corecore