Evaluating effects of memory compressed usage on MeeGo

Similar documents
Update on filesystems for flash storage

Update on filesystems for flash storage

Installing Ubuntu inside Windows using VirtualBox

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Linux Embedded devices with PicoDebian Martin Noha

Dualog Connection Suite Hardware and Software Requirements

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

USTM16 Linux System Administration

Drupal Performance Tuning

Amahi Instruction Manual

File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez

BitDefender Security for Exchange

The Implementation of a Hybrid-Execute-In-Place Architecture to Reduce the Embedded System Memory Footprint and Minimize Boot Time

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

AXIS Video Capture Driver. AXIS Video Capture Driver. User s Manual

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

Determining the Correct Usage of Swap in Linux * 2.6 Kernels

Enery Efficient Dynamic Memory Bank and NV Swap Device Management

Violin: A Framework for Extensible Block-level Storage

Parallels Virtuozzo Containers 4.7 for Linux Readme

Customizing Boot Media for Linux* Direct Boot

How to make your system mobile with Paragon Drive Copy 10 and Microsoft Windows Virtual PC

Parallels Desktop 4 for Windows and Linux Read Me

ORACLE BUSINESS INTELLIGENCE WORKSHOP. Prerequisites for Oracle BI Workshop

HADOOP PERFORMANCE TUNING

ServerPronto Cloud User Guide

Embedded Operating Systems in a Point of Sale Environment. White Paper

IN STA LLIN G A VA LA N C HE REMOTE C O N TROL 4. 1

Remote Desktop Protocol Performance

Filesystems Performance in GNU/Linux Multi-Disk Data Storage

<Insert Picture Here> Btrfs Filesystem

Linux flash file systems JFFS2 vs UBIFS

USB 2.0 Flash Drive User Manual

Q1. What are the differences between Data Backup, System Restore, Disk Image, System Recovery Disc and System Repair Disk?

Virtualization Technology (or how my Windows computer gave birth to a bunch of Linux computers)

Lessons Learned while Pushing the Limits of SecureFile LOBs. by Jacco H. Landlust. zondag 3 maart 13

System Requirements Table of contents

This Release Notes document is for F-Secure Linux Security.

Five standard procedures for building the android system. Figure1. Procedures for building android embedded systems

KVM & Memory Management Updates

FAST 11. Yongseok Oh University of Seoul. Mobile Embedded System Laboratory

Altor Virtual Network Security Analyzer v1.0 Installation Guide

Belkin USB Flash Drive

I. General Database Server Performance Information. Knowledge Base Article. Database Server Performance Best Practices Guide

Big Fast Data Hadoop acceleration with Flash. June 2013

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

McAfee MOVE / VMware Collaboration Best Practices

SOURCE SIDE DEDUPLICATION GUIDE

Hyper-V vs ESX at the datacenter

Installing a Second Operating System

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Data Storage Framework on Flash Memory using Object-based Storage Model

NetApp Data Compression and Deduplication Deployment and Implementation Guide

LOCKSS on LINUX. CentOS6 Installation Manual 08/22/2013

LOCKSS on LINUX. Installation Manual and the OpenBSD Transition 02/17/2011

User Installation Guide

Practical issues in DIY RAID Recovery

Quantifying Hardware Selection in an EnCase v7 Environment

Mobile Operating Systems Lesson 05 Windows CE Part 1

Symantec Backup Exec 12.5 for Windows Servers. Quick Installation Guide

Honor T1 8.0 FAQ. Issue 01. Date 06/30

ivos Technical Requirements V For Current Clients as of June 2014

Copyright by Parallels Holdings, Ltd. All rights reserved.

Windows Embedded Standard 7 (WES7) Administration Guide

Paul McFedries. Home Server 2011 LEASHE. Third Edition. 800 East 96th Street, Indianapolis, Indiana USA

Embedded Linux development training 4 days session

Tech Tip: Understanding Server Memory Counters

MAD2: A Scalable High-Throughput Exact Deduplication Approach for Network Backup Services

HUAWEI MediaPad T1 8.0 FAQ HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date 06/30

Data Collection Agent for Active Directory

Virtual Machines. COMP 3361: Operating Systems I Winter

Install Guide Housatonic Project Plan for Web. Housatonic Software - Project Plan 365 App

Audit & Tune Deliverables

Pcounter Web Report 3.x Installation Guide - v Pcounter Web Report Installation Guide Version 3.4

Hadoop Architecture. Part 1

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

ProSystem fx Workpaper Manager. Installation Guide

Chapter 8 Monitoring and Logging

Upgrading Cisco UCS Central

ColdFusion 8. Performance Tuning, Multi-Instance Management and Clustering. Sven Ramuschkat MAX 2008 Milan

1. System Requirements

Design of a NAND Flash Memory File System to Improve System Boot Time

e-config Data Migration Guidelines Version 1.1 Author: e-config Team Owner: e-config Team

High Availability of the Polarion Server

VMware vsphere Replication Administration

A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 3 Installing Windows

HPC performance applications on Virtual Clusters

VoIPon Tel: +44 (0) Fax: +44 (0)

How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX

CompleteView Admin Console Users Guide. Version Revised: 02/15/2008

Introduction to Cisco Inventory and Reporting

How To Upgrade A Websense Log Server On A Windows 7.6 On A Powerbook (Windows) On A Thumbdrive Or Ipad (Windows 7.5) On An Ubuntu (Windows 8) Or Windows

AP ENPS ANYWHERE. Hardware and software requirements

Windows NT File System. Outline. Hardware Basics. Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Transcription:

Evaluating effects of memory compressed usage on MeeGo LinuxCon Europe 2011 Anderson Briglia anderson.briglia@indt.org.br

INSTITUTO NOKIA DE TECNOLOGIA INdT Independent and non-profit Research and Development Independent and non-profit Research and Development Institute, founded by Nokia and focused on the generation of Institute, founded by Nokia and focused on the generation of new concepts, products and solutions for areas related to new concepts, products and solutions for areas related to mobile technologies and the internet. mobile technologies and the internet. Manaus Recife INdT INdT Streams: SW SW & UI UI Network Network Technologies Technologies Manufacturing(logistics) Manufacturing(logistics) Service Service experience experience Brasília São Paulo Instituto Nokia Nokia Technology de Tecnologia Institute

Agenda Motivation Related work Compcache: some details about the project Experiments using N9 and N900 + MeeGo Final considerations

Why compressed memory? Generally, memory is scarce. Hardware changes bring more co$ts. A software solution can relief the memory scarcity. Flash storage suffers from wear-leveling issues, so its useful if we can avoid using them as swap device.

Related work 1993 Douglis with first comp. cache implementation. 1999 Kaplan with new adaptive scheme. Following the same scheme, Rodrigo Castro released an implementation with new compressed storage structures approach and new adaptive re-sizing approach. It was for 2.4.x Linux kernel. CRAMES Compressed RAM for Embedded Systems.

Compressed Cache Previous version Changes to the swap write path, page fault handler and page cache lookup functions. Intrusive nature.

Compressed Cache Ramzswap module RAM based block device used as swap disk. Swapped pages are compressed and stored in memory itself. Requested pages are decompressed before swapped-out.

Compressed Cache Implementation design Far less intrusive than previous approach. Do not compress page cache (filesystem backed) pages. Compress anonymous pages only. Individual components: o LZO compressor. o xvmalloc memory allocator. o compcache block device driver: ramzswap. swapon /dev/ramzswap0

Compressed Cache Memory management How manage the variable size of the compressed chunks? How reduce the fragmentation?

Compressed Cache Memory management xvmalloc: O(1) malloc/free. Very low fragmentation as presented on all tests. Can use highmem. Non-standard allocator interface.

Compressed Cache Limitations ramzswap can never know when a compressed page is no longer required. Swap discard mechanism: BIO_RW_DISCARD If there is no swap operations the stale pages will remain. ramzswap can simply forward uncompressible pages to a backing swap disk, but it cannot swap out memory allocated by xvmalloc.

Test platforms N9 + Harmattan o has ramzswap as default swap device: ~ 256 MB o Swappiness = 30 o RAM 1GB N900 running MeeGo by Community o has MMC block device as default swap device: ~ 75 MB o RAM 256 MB Tests consists in memory allocation speed (fillmem, scan utilities), and low memory situations: multiple applications running.

Compressed Cache Experiments Is ramzswap overhead affecting memory allocation speed? Is ramzswap enabling other use cases when memory consumption is critical?

N9 Experiments Performance tests Memory allocation speed Memory consumption Memory behavior when applications are running and ramzswap is being used or not

N9 Experiments Performance test Time to allocate 550 MB Swappiness = 60 Real swap + ramzswap No ramzswap 0 10 20 30 40 50 60 Time (s)

N9 Experiments Compressed memory after 550 MB allocated 120000 100000 80000 60000 No ramzswap Default config Swappiness = 60 40000 20000 0 Number of stored pages Saved memory

N9 Experiments Memory consumption behavior 8 browsers instances Calendar Video player Music player

N9 Experiments Memory consumption behavior MemFree

N9 Experiments Ramzswap memory consumption stats Default configuration Swappiness = 60 DiskSize: 262144 kb NumReads: 648 NumWrites: 2183 FailedReads: 0 FailedWrites: 0 InvalidIO: 0 NotifyFree: 0 ZeroPages: 68 GoodCompress: 87 % NoCompress: 1 % PagesStored: 2115 PagesUsed: 502 OrigDataSize: 8460 kb ComprDataSize: 1979 kb MemUsedTotal: 2008 kb DiskSize: 262144 kb NumReads: 897 NumWrites: 10576 FailedReads: 0 FailedWrites: 0 InvalidIO: 0 NotifyFree: 0 ZeroPages: 419 GoodCompress: 76 % NoCompress: 5 % PagesStored: 10157 PagesUsed: 3206 OrigDataSize: 40628 kb ComprDataSize: 12682 kb MemUsedTotal: 12824 kb

N9 Experiments Ramzswap memory consumption stats Default configuration Swappiness = 60 DiskSize: 262144 kb NumReads: 648 NumWrites: 2183 FailedReads: 0 FailedWrites: 0 InvalidIO: 0 NotifyFree: 0 ZeroPages: 68 GoodCompress: 87 % NoCompress: 1 % PagesStored: 2115 PagesUsed: 502 OrigDataSize: 8460 kb ComprDataSize: 1979 kb MemUsedTotal: 2008 kb DiskSize: 262144 kb NumReads: 897 NumWrites: 10576 FailedReads: 0 FailedWrites: 0 InvalidIO: 0 NotifyFree: 0 ZeroPages: 419 GoodCompress: 76 % NoCompress: 5 % PagesStored: 10157 PagesUsed: 3206 OrigDataSize: 40628 kb ComprDataSize: 12682 kb MemUsedTotal: 12824 kb

N9 Experiments Some conclusions Memory consumption Default configuration Good responsiveness but the video did not play. No swap After the six browser instance the responsiveness was decreasing and the video player did not start. With ramzswap Responsiveness ok, all applications started and worked properly.

N900 Experiments Performance tests Memory allocation speed Memory consumption Memory behavior when applications are running and ramzswap is being used or not

N9 Experiments Performance: Time to allocate 90 MB Swappiness = 60 Real swap + ramzswap No ramzswap 0 1 2 3 4 5 6 Time (s)

N900 Experiments Performance tests Time to allocate 90 MB System was able to allocate 90 MB bunch of memory in three different swap configurations. Swappiness = 60 and ramzswap size = 15% of total memory seems to be the best choice.

N900 Experiments Memory consumption behavior 8 browsers instances Video player Photo gallery

N900 Experiments Memory consumption behavior MemFree

N900 Experiments Results Memory consumption Default configuration No responsiveness after video play, not possible to finish the test. With ramzswap (swappiness = 30 or 60) No possible to finish the test as well. The device rebooted. Ramzswap + real swap (mmc blk device) Best choice. Ramzswap was configured to have higher priority. MMC blk device as second swap area.

Final considerations As presented, memory compressing is an alternative for embedded and memory limited devices. The newer Compressed Cache version (using ramzswap), is pretty mature and had abandoned the intrusive nature from previous version.

Final considerations N9 experiments showed that the best choice is to combine the fs back storage swap and the ramzswap. Its default configuration already set this. The default value for swappiness on N9 is 30. Maybe we should review this since we could have more pages going earlier to compressed memory, increasing the performance.

Final considerations N900 experiments showed that the ramzswap usage could bring more benefits than the current configuration. Before ramzswap load, we need do configure the amount of memory used since it is not a good idea to have big ramzswap partitions.

Presentation resources Compcache project website: http://code.google.com/p/compcache LWN.net article about in-memory compressed swapping: http://lwn.net/articles/334649/ Documentation about Virtual Memory Management on kernel.

Thanks anderson.briglia@indt.org.br anderson.briglia@openbossa.org