неділя, 14 серпня 2011 р.

Іграшкова Lustre.

В попередньому пості описувалося, як розгорталася повноцінна Lustre-система. Однак іноді хочеться поекспериментувати не так монументально. Можливість для цього існує :-)
Lustre чудово працює на loopback-пристроях.

Опишемо як можна створити таку іграшкову (кишенькову)  "люстру". Додатково корисно подивитися "10.1 Configuring a Simple Lustre File System" (Lustre 2.0 Operations Manual) та "Configuring Lustre - Examples" (Lustre 1.8 Operations Manual). (Інструкції до 1.8 хоча і трохи застаріли для 2.0, однак часто більш зрозумілі чи детальні).

Будемо створювати Люстру із своїм MDS,  MDS, та двома OSS.

пʼятниця, 12 серпня 2011 р.

Інсталяція Lustre 2.0

 На прикладі нашого кластера опишу в деталях процес підготовки Lustre до роботи. Короткий огляд "люстри" в попередньому пості. Перш ніж читати далі, варто із ним ознайомитися, інакше вам будуть незрозумілі більшість термінів та причини чому щось робиться саме так а не по іншому. (Тим же, хто досвідчені у роботі з Lustre, навряд чи згодиться що той пост, що цей :)

По структурі текст ближчий до How-to, аж ніяк не є вичерпним описом всіх варіантів. Ну і, навіть в аналогічній конфігурації, ваші результати можуть відрізнятися :-)

За відгуки, виявлені помилки та пропозиції по тексту буду вдячним.

четвер, 11 серпня 2011 р.

Огляд Lustre, кластерної файлової системи

Нещодавно на нашому кластері виникла необхідність оновити систему збереження, Lustre. Щоб спростити собі такі задачі на майбутнє, вирішив написати кілька нотаток, які стосуватимуться різних аспектів роботи з "Люстрою".

Спершу, в ролі огляду, що ж таке Lustre -- моя стаття та презентація з семінару, присвяченому кластеробудуванню в Західній Україні. Зауважу, що відбувся він доволі давно - майже рік тому. З того часу багато що змінилося. Оракл, якому належала Lustre після придбання Sun, повідомив про припинення її розробки. Однак, зразу виникло кілька фірм, що розробляють та підтримують цю, безперечно, перспективну розподілену файлову систему. Серед них слід виділити Whamcloud, куди пішли ключові розробники - Eric Barton і Andreas Dilger, щоб продовжити роботу над Lustre.

Текст нижче стосується, в основному, Lustre 1.8. Надалі описуватиметься Lustre 2.0, яка дуже схожа у всіх аспектах, однак має і суттєві відмінності.

За відгуки, виявлені помилки та пропозиції по тексту буду вдячним :-)

Презентація доступна тут
Система збереження даних Lustre

Система збереження даних Lustre 

субота, 6 серпня 2011 р.

Уроки захищеного режиму x86. Урок 10

Десятий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5. "Уроки захищеного режиму x86. Урок 5".
  6. "Уроки захищеного режиму x86. Урок 6". 
  7. "Уроки захищеного режиму x86. Урок 7".  
  8. "Уроки захищеного режиму x86. Урок 8".
  9. "Уроки захищеного режиму x86. Урок 9".
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 10

Цього разу -- адресація до 4Гб оперативної пам'яті з реального режиму, використовуючи недокументовані особливості процесорів. Описано недокументований "нереальний" режим.

Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.

Архів з файлами уроку: pm_10.zip.

Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. Наступний урок показуватиме, як організувати багатозадачність із задачами не тільки нульового але й третього рівня привілей.

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.

На орбіті Вести

Прибули! Помилок в Азімова трохи є, але немає на те ради :-) Та й цінимо ми його не тільки за точність вгадування параметрів небесних тіл.

Що ж побачили, прибувши? Для початку -- типове безатмосферне тіло. Кратери, ущелини, реголіт. Не всі світи такі захоплюючі та різноманітні, як наша Земля. Але свій шарм у Вести є.

понеділок, 25 липня 2011 р.

Уроки захищеного режиму x86. Урок 9

Дев'ятий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5. "Уроки захищеного режиму x86. Урок 5".
  6. "Уроки захищеного режиму x86. Урок 6". 
  7. "Уроки захищеного режиму x86. Урок 7".  
  8. "Уроки захищеного режиму x86. Урок 8". 
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 9
Багатозадачність з примусовим витісненням. Основна відмінність від сьомого уроку --- не використовується апаратне переключення задач за допомогою TSS. Збереження контексту здійснюється програмно, за допомогою стеку. Цей спосіб вважається швидшим і більш універсальним, та використовується всіма сучасними промисловими операційними системами.
Нових елементів захищеного режиму не розглядається
Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.
 
Архів з файлами уроку: pm_09.zip.

Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. Наступний урок буде присвячений сторінковій організації пам'яті.

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.

пʼятниця, 22 липня 2011 р.

Уроки захищеного режиму x86. Урок 8

Восьмий урок захищеного режиму. 

Попередні : 
  1. "Уроки захищеного режиму x86. Урок 0 та 1". 
  2. "Уроки захищеного режиму x86. Урок 2". 
  3. "Уроки захищеного режиму x86. Урок 3". 
  4. "Уроки захищеного режиму x86. Урок 4".
  5.  "Уроки захищеного режиму x86. Урок 5".
  6.  "Уроки захищеного режиму x86. Урок 6". 
  7.  "Уроки захищеного режиму x86. Урок 7". 
Базою для цих матеріалів служать уроки уроки захищеного режиму Алексея Фрунзе
Ліцензія на код -- GPL2+, ліцензія на тексти -- GFDL.
Довідкова інформація взята з відкритих джерел на просторах Інтернету, зокрема з офіційних мануалів Intel.
Традиційне і очевидне -- жодних гарантій.

Урок номер 8
Демонстрація роботи трансляції сторінок. У графічному режимі на екран виводиться 16 кольорових смужок, послідовно: 
  • Трансляція сторінок заборонена, послідовність кольорів -- чорний, блакитний, ..., жовтий, білий.
  • Трансляцію ввімкнено, трансляція тотожна, послідовність кольорів та ж -- чорний, блакитний, ..., жовтий, білий.
  • Трансляцію ввімкнено, сторінки перетасовано, послідовність кольорів протилежна -- білий, жовтий, ..., блакитний, чорний.
Використано режим 0x13 VGA, в якому кожному пікселю відповідає рівно один байт. В ньому роздільна здатність 320x200, тому відеопам'ять, яка виводиться на екран, займає 64000 байти, майже 64Кб. Заповнивши різні сторінки байтами, що задають різні кольори ми фактично і безпосередньо візуалізуємо їх  :-)
А візуалізувавши, показуємо, як зміниться зображення, якщо ввімкнути трансляцію, яка  лінійним тотожно ставить у відповідність фізичні (не зміниться) та коли лінійні адреси сторінок відеопам'яті розташовано у зворотному порядку (так як контролер відеоадаптера читає за фізичними адресами, порядок кольорів смужок теж стане зворотнім).

Описано (болдом виділено теми, що безпосередньо стосуються захищеного режиму):
  • Принципи сторінкової організації пам'яті.
  • Її реалізація, директорії та каталоги сторінок. Робота із записами в них. TLB, CR3.
  • Засоби процесора для заміщення сторінок, виключення Page Fault.
  • Розширення механізму сторінкової організації. Регістр CR4, великі сторінки (PSE), доступ до пам'яті за межами 4Гб - 1 (PAE), доступ до пам'яті за межами 4Гб - 2 (PSE-36).  
  • Відеорежим 0x13 VGA-сумісних  адаптерів.
Сторінкова організація в 64-бітному режимі поки не розглядалася. Якщо буде цікаво - пишіть ;-) 

Реалізація поки тільки змішана, C-asm. Якщо буде зацікавленість, можна написати і чисто асемблерну.
 
Архів з файлами уроку: pm_08.zip.


Незначні зміни, доповнення та виправлення будуть вноситися прямо в цей файл, про що я старатимуся повідомляти.

На сьогодні все. Наступний урок буде присвячений багатозадачності без використання апаратного переключення задач та TSS.

Дякую за увагу

Якщо є запитання, виправлення, пропозиції - пишіть! Багато часу цьому приділяти, на жаль, не можу, але якщо з того буде комусь користь - спробуємо щось придумати.