Споживання енергії є ключовим для мобільних гаджетів, але часто дослідники концентруються на екранах, процесорах та модемах, не помічаючи інших «ненажерливих» компонентів. Один із них – флеш-пам’ять смартфонів, яка може відповідати за 36% енергоспоживання девайса. І суттєвий вплив на автономність має використовувана у гаджеті файлова система.
Оптимізувати електроніку за її енерговитратами сьогодні доводиться через відставання технологій акумуляторів. Батареї не витримують гонки технологій, і з кожним роком смартфони працюють дедалі менше часу. Все тому, що прогрес в акумуляторах відбувається повільніше, ніж у мікрочіпах. У мікросхемах кількість транзисторів збільшується вдвічі щодва роки, тоді як ємність батарей зростає вдвічі лише кожні 10 років.
Необхідність у новій файловій системі
Сьогодні у смартфонах використовується майже виключно файлова система ext4. Вона є еволюцією найпопулярнішої файлової системи в операційній системі Linux – еxt3. В еxt3 головну увагу приділили журналам для ведення історії операцій. В еxt4 пішли далі та модифікували важливі структури для зберігання даних.
Файлову систему еxt4 створили в період 2003-2006 років, і вона найкраще адаптована для роботи з механічними жорсткими дисками. У флеш-пам’яті зовсім інший принцип: вона має відносно низьку швидкість роботи, але це компенсується розпаралелюванням процедур запису та читання на десятки каналів.
Для врахування цих особливостей у Samsung в 2012 році представили файлову систему F2FS. Необхідність у новій файловій системі стала особливо очевидною після презентації флеш-пам’яті типу UFS, яка зробила флеш ще швидше, і програмне забезпечення почало гальмувати можливості апаратного забезпечення. Також файлова система ext4 не враховувала особливості флеш-пам’яті: незмінний час доступу та обмежену кількість циклів запису даних.
Енергоспоживання компонентів смартфона
Дослідники Техаського університету визначили, як розподіляється загальне енергоспоживання смартфона при типових операціях. Вони взяли файл розміром 100 МБ та передавали його блоками по 4 КБ через мережевий канал зв’язку. Смартфон знаходився в режимі польоту, а всього провели 10 замірів для опосередкування фінального результату.
Як тестовий пристрій взяли Samsung Galaxy Nexus S із двоядерним процесором Cortex-A9 частотою 1,2 ГГц, 32 ГБ внутрішньої флеш-пам’яті, 1 ГБ оперативної пам’яті. Програмною частиною гаджета була операційна система Cyanogenmod 13.0 на базі Android 6.0.1 з ядром Linux 3.0.101, що дозволило активувати F2FS.
Енергоспоживання файлових систем
Аналіз науковців Техаського університету показав, що файлова система може в рази впливати на енергоспоживання флеш-пам’яті:
- випадковий запис в ext4 споживає в 19 разів більше енергії, ніж послідовний. У F2FS співвідношення становить 12 разів.
- випадкове читання в ext4 споживає в 7 разів більше енергії, ніж послідовне. Для F2FS співвідношення дорівнює 8 разів.
Особливість флеш-пам’яті в тому, що найбільше енергії вона витрачає під час запису. Найвищі показники енергоспоживання демонструє режим випадкового запису даних. Найменше енергії флеш-пам’ять споживає при послідовному читанні. Для ext4 різниця між цими режимами становить 32 рази, і лише 18 разів для F2FS.
Загалом додатки Android при роботі на базі F2FS споживають менше енергії, ніж при роботі з еxt4.