Before we discuss more deeper about the replacement algorithm, we need to understand what and how cache memory works. Cache memory is a component used by CPU (central processing unit) to reduce average time access main memory. Data that frequently used will be store inside cache memory obtain from main memory. The cache memory is faster and smaller.
storage cache memory
If the CPU want to read or write data from memory, it will check it first is it exist or not. If yes, CPU directly read or write from cache memory because it’s more faster rather than access to main memory. The block that contain data inside cache memory will be replace the block of data from main memory using replacement algorithm technique if all the blocks already been fill up in cache memory.
There are a lot of cache levels that can rely only one single replacement algorithm. There are two types of page, HOT (active) page and COLD (passive) page. The blocks will be distributed into HOT pages and store in cache memory meanwhile COLD pages will be store in main memory (sometimes can be in cache memory).
Current processors technology are able to support from L1,L2 until L3. L4 will be in future because limitation in terms of hardware size and cost. L1 stores HOT pages compare to L2 stores both HOT and COLD pages. L1 used LRU (Less Recently Used), FIFO (First In First Out) and LFU (Less Frequently Used).
IBM has open contract positions for Bluemix in all of ASEAN (SG, MY, TH, ID, PH) for fresh graduates.
Candidate should fit 2-3 of the minimum requirements:
1. Minimum of 2 years in Web Application Development using NodeJS, Java or Go
2. Minimum of 2 years in Android or iOS application development
4. Familiar with MongoDB or other NoSQL (Document-based)
5. Familiar with Relational Database
6. Familiar with Web Services (REST or SOAP) and OOP concept
7. Familiar with cloud environment (IaaS or PaaS)
Bonus points for:
1. Experience or knowledge in data analytics – especially social media analytics
2. Experience in web development framework – Angular JS, jQuery, Bootstrap
3. Skill in other programming language (Ruby, Python, Scala, C#, etc)
4. Conceptual knowledge in MVC or microservices
5. Past experience in using PaaS
6. Experience in IoT related development (Raspberry Pi, Arduino, etc)
7. Degree in Computer Science / Computer Engineer / AI
8. Experience in DevOps – i.e. Continuous Integration, Continuous Deployment is a plus
9. Experience or knowledge in Docker container technology.