An 8-Step Workflow to Optimizing your Cache Memory Performance


Click here to download now

Date: August 2011
Type: White Paper
Rating: (1)

Overview: Optimizing an application's use of cache memory is critical in its overall performance. Today's modern multi-core pipelined CPU architectures operate on data much faster than the data can be supplied by main system memory. If the cache is not always full of the data the CPU requires next, all of that CPU power stalls, sitting idle waiting for the next piece of work.

There are several distinct steps in optimizing an application for good cache performance, each targeting a different category of problems. The order of the steps is somewhat important as some problems obscure others, and some optimizations enable other optimizations or make other optimizations unnecessary. By following this workflow you avoid making unnecessary optimizations and missing optimization opportunities that may not present themselves clearly if the steps are done in another order.

The workflow outlined in this whitepaper moves through addressing data layout and data access patterns, exploring data reuse opportunities, considering multithreading issues, and finally, putting on the finishing touches. It provides a solid framework in which developers can work to optimize performance of key parts of an application. The steps described, from optimizing general access patterns to advanced techniques to multithreading concerns, cover all of the areas where cache memory bottlenecks can occur. Developers who follow these steps will reach their goal of a faster application more quickly than those who follow ad-hoc methods where they may waste time attempting to optimize the wrong parts of their code.

Not what you're looking for? Search again
Go Advanced »
More From the Development Tools Section

View All Categories

Business Intelligence : Analytics, Business Process Management, Content management, Dashboards, Data Mining, Performance Management, Databases, Datamarts/Data Warehouses, Information Management, Knowledge Management, Data Quality

Development : Open Source, Windows/.NET, Web Development, Security, Mobility, Java, High Performance Computing, Embedded Systems, Development Tools, Database, Architecture & Design, C/C++

Government : Cloud/SaaS, Leadership, Information Management, Federal, Mobile & Wireless, State & Local, Enterprise Applications, Security, Policy & Regulation, Enterprise Architecture

Hardware : Virtualization Hardware, Windows Servers, Utility/On-demand Computing, Unix/Linux servers, Supercomputers, Peripherals, Macintosh, Handhelds/PDAs, Grid/Cluster Computing, Desktops/PCs, Data centers, Blades, Processors

Healthcare : Interoperability, Administration systems, Clinical information systems, Electronic medical records, The Patient, Security & Privacy, Leadership, Policy & Regulation, Mobile & Wireless

Infrastructure : ATM, Ethernet/Gigabit Ethernet, Frame relay, IPv6, Traffic Management, Network/Systems Management, PBXs, Printers, Remote Access, Routers, Switches, UPS, VPNs, WAN Optimization/Acceleration, Wide Area File Services

Internet : B2B, B2C, Browsers, E-Business/E-Commerce, E-retail, Google, Social Business, Internet Security, Search, Social Networks, Traffic Reporting/Monitoring, Web 2.0, Web Development, Internet Policy

Management : Career Development, Training, Small-Medium Business, Salary/Compensation, ROI/TCO, Regulation/Compliance, Recruiting, Personnel Management, Outsourcing, Legal, H-1B, Executive Insights/Interviews, Workplace Trends

Mobility : WLAN, Wireless Security, Wi-Fi/WiMax, Wi-Fi VOIP, Smartphones, 3G Wireless/Broadband, Muni Wireless, Mobile Messaging, Mobile Business, Fixed Mobile Convergence, 802.11x, RFID

Personal Tech : Blackberry, Bluetooth, Bluray, Digital Cameras, Digital Music, Digital Rights Management, Virtual worlds, iPhone, iPod, Peripherals, Smartphones, TVs/Home Theater, Global Positioning Systems

Security : Security Administration, End user/Client Security, Encryption, Cyberterror, Attacks/Breaches, Application Security, Antivirus, NAC, Perimeter Security, Privacy, Vulnerabilities and Threats, Storage Security, Intrusion Prevention

Services : Telecom/Voice Services, Business Process Outsourcing, Business Services, Disaster Recovery, Systems Integration, Hosted Storage, Internet/Data Services, Outsourcing, Software as a Service, Hosted Applications

Software : Web Services, Service Oriented Architecture, Server Virtualization, Productivity Applications, Operating Systems, Open Source, Linux, Hosted Software/Applications, ERP, Development Tools, Databases, Database Applications, CRM, Business Systems Management, Integration, Application Optimization

Storage : Data protection, Disaster Recovery, Removable/Portable Storage, Security, Storage Fabrics, Storage Systems, Virtualization

Telecom : VOIP, Unified Communications, Voice services, PBXs, Internet policy, Presence, Collaboration Systems, Business, Regulation, Call Centers

Windows/Microsoft : Applications, Internet Explorer, Microsoft Company News, Security, Open Source, Operating system, Office Suite

More Development Resources

Transitioning to Multicore Development
As you think about your application in the context of new multicore systems you may wonder: What does it mean to transition my application to ......

More On development