Обмін апаратними ресурсами через мережу: конкретно ОЗУ


9

У мене дві системи. Один - це ноутбук і має 2 Гб оперативної пам’яті, а інший - настільний, що має 8 ГБ оперативної пам’яті. Чи можливо поділитися цими ресурсами, щоб обидві системи мали 10 ГБ оперативної пам’яті?

Програмне забезпечення, яке я хочу запустити в обох системах, - це Android Studio ..., який на даний момент ноутбук не дуже добре працює.

Додаткова інформація: Обидві системи мають операційну систему Windows 8 та мають процесори Intel Core i3 .

дякую ppl, але у мене виникло ще одне питання .. як щодо обміну ним через Ethernet-кабель ?? як через комутатор або v-lan, тербі взагалі не користується Інтернетом, але отримує швидкість передачі пониження ???


2
Ні, баран не підлягає передачі.
Ctrl-alt-dlt

15
Звичайно, ви могли це зробити. Але загальна оперативна пам’ять буде тільки такою ж швидкістю, як і швидкість вашої мережі. Іншими словами, це можливо (ну, теоретично все одно), але не практично.
Ajedi32

4
Нерозумно просити вас перемикати операційні системи, але знайте, що Linux має стиснення віртуальної пам'яті, тобто ви можете використовувати більше оперативної пам’яті, ніж фізично, стискаючи певні її сегменти за допомогою LZO.
Нафтулі Кей

5
Якщо ви використовували Linux, ви могли щось розробити за допомогою ramdisk, пристрою мережевого блоку та swapfile. Я не вірю, що Windows має таку можливість.
Марк

4
Ви ставите неправильне запитання. Питання, яке ви повинні задати, полягає в тому, як ви використовуєте більш потужну машину для виконання збірок? І одна з можливих відповідей - плагін Gradle SSH .
Майкл Хемптон

Відповіді:


20

Лише деякі програми дозволяють розділити процеси по мережі (деякі програми 3D-рендерінгу, ефективно обмінюючись оперативною пам’яттю) (Див. Відповідь Джуліана Найта)

Проблема з Інтернетом у тому, що це занадто повільно (Дивіться відповідь Spiff)

Я думаю, що оперативна пам’ять робочого столу не буде сумісною з обладнанням, тому просто розміщення смужок ОЗУ у вашому ноутбуці не вийде.

Що ви можете зробити:

Встановіть віддалений настільний клієнт на свій ноутбук і підключіться до робочого столу. Таким чином ви можете "працювати на робочому столі" через тунель.

Так важка програма (android studio) буде працювати на вашому робочому столі! А ноутбук турбував би лише клієнт віддаленого робочого столу.

Це ефективно використовує апаратне забезпечення ПК і, таким чином, буде працювати краще (якщо ваш ноутбук і клієнт віддаленого робочого столу достатньо і досить легко працювати.

Я хотів би додати, що це не "поділяє" ОЗУ, а просто використовує оперативну пам'ять ПК, що достатньо.


1
Я думаю, що є програми, які дозволяють перетягувати вікно з однієї операційної системи в іншу, але я не впевнений у назві, якщо обробка все-таки виконується локально або що-небудь ще.
Ісмаїл Мігель

1
Паралелі, але це віртуалізація.
Артур Кей

1
@Alvin Віддалений настільний додаток не перейде через Інтернет, якщо ви спеціально не налаштуєте свою мережу для цього. Якщо ви підключитесь до свого робочого столу за допомогою IP-адреси в мережі, з'єднання буде існувати лише у вашій мережі.
Логарр

8

Можливо, ні, оскільки це було б досить повільно порівняно з тим, щоб робити віртуальну пам’ять на локальному диску. SATA-3 - це 6 гігабіт в секунду, і у мене дворічний HDD SATA-3 із 4 ТБ 7200 об / хв із стійкою швидкістю читання / запису 157 Мебібайта / сек (~ 1,3 гігабіт / сек). Стійка швидкість передачі через гігабітний Ethernet в кращому випадку становить близько 0,942 гігабіт / сек.


4
Зверніть увагу, що для деяких навантажень затримка довільного доступу важливіша, ніж пропускна здатність (і я підозрюю, що цифра пропускної здатності вашого диска була для великих доступу, а не випадковими часточками 4KiB). Навіть при накладних мережах передача 4KiB безпосередньо з однієї системи в іншу, ймовірно, буде швидшою, ніж середній доступ до диска (із затримкою пошуку, врегулювання та обертання). До того як SSD-диски стали популярними, проводилися дослідження щодо використання оперативної пам’яті інших систем для обміну місцями. Відповідь FuaZe про переміщення роботи до більшої системи видається більш практичною.
Пол А. Клейтон

3
Правильно, але ваш привід має СУЩУ, МНОГО нижчу швидкість випадкового доступу, ніж гігабітна Ethernet. Для цього вам знадобиться твердий стан.
Артур Кей

@Spiff дякую ppl, але у мене виникло ще одне питання .. як щодо обміну ним через Ethernet-кабель ?? як через комутатор або v-lan, тербі взагалі не користується Інтернетом, але отримує швидкість передачі пониження ???
Елвін

@ArthurKay: Або професійний привід 30Krpm професійного класу, який використовується у кластерах віртуалізації з балансуванням навантаження.
користувач2284570

@Alvin Саме про це йдеться у цій відповіді. "... швидкість передачі через гігабітний Ethernet ..."
BenjiWiebe

1

Ні, це неможливо.

Єдиним невеликим винятком є ​​те, коли ви використовуєте інструмент, який здатний розділити обробку на декілька машин, таких як 3d-графічна візуалізація. Однак про це ви насправді не запитуєте.


Ви знаєте інферно ? Оскільки він використовує x86, мережевий доступ до DMA може бути справжньою допомогою.
користувач2284570

ОП вказав Windows 8, так що це йому не допомагає.
Джуліан Найт

Це було лише для того, щоб сказати, що всупереч сказаному, це можливо. Для ОС система видається системою SMP, що не використовується загальною пам'яттю.
користувач2284570

1

Близько семи років тому контролер пам'яті був переміщений з окремої мікросхеми ( північного мосту або концентратора пам'яті) до центрального процесора. Ти знаєш чому? Знизити затримку, оскільки процесору потрібен дуже швидкий доступ до оперативної пам'яті. Поточні процесори отримують доступ до оперативної пам’яті з 68 Гб / с : http://ark.intel.com/products/82930/Intel-Core-i7-5960X-Processor-Extreme-Edition-20M-Cache-up-to-3_50-GHz . Сучасний 1 Гбіт / с Ethernet дає близько 120 Мб в секунду, отже, у 560 разів повільніше. Отже, це не те, що можна робити на звичайних ПК.

Існують кластерні обчислювальні рішення з багатьма комп'ютерами, підключеними до мережі, і кожен зберігає частину даних у своїй оперативній пам'яті. Це набагато повільніше, ніж звичайна оперативна пам'ять, але у вас немає вибору, якщо вам потрібно мати 10 ТБ даних, щоб бути доступними. Але такі рішення повинні підтримуватися програмним забезпеченням. І Android Studio це не підтримує.

Отже, відповідь - ні, на жаль.


1
Для використання кластеризованих помилок віртуалізації, я можу сказати, що обмін оперативної пам’яті через cat5E Ethernet для навіть повільніших дисків працює чудово з сучасними ОС та програмами.
користувач2284570

1

Наразі це неможливо, але це насправді було вказано на картках у певній формі та вписано у " After Vista " як частина системи "ReadyBoost", яка дозволяє використовувати USB-накопичувач як носій для читання файлу сторінки (і інші файли) швидше, ніж використання диска. Це не зайва оперативна пам’ять як така, але якщо ви використовуєте багато оперативної пам’яті, це може скоротити кількість часу, коли ваш комп'ютер витрачає підкачки на диск і з диска.

Здається, що у вашому сценарії ви отримаєте перевагу від USB-накопичувача на 32 ГБ, призначеного для ReadyBoost .


Схоже, це не відповідає на питання ОП. Хоча для ReadyBoost спочатку планувалося дозволити спільне використання оперативної пам’яті по всій мережі, в даний час це не реалізується.
ChrisInEdmonton

@ChrisInEdmonton Гаразд, я відредагував свою відповідь, щоб конкретно сказати, що це неможливо, але планувалося в один момент, а не лише заявляючи, що це було заплановано.
Метью Степлз

2
І ReadyBoost занадто криваво повільний, щоб бути корисним. Комп'ютери насправді сповільнюються при використанні ReadyBOOST. Зовсім не великий імпульс.
Тонні

1
@Tonny Подумайте, що це один із таких сценаріїв "ваш пробіг може змінюватися". Я особисто виявив, що він прискорює повільніші комп’ютери, і з швидкими комп'ютерами мало значення. Ніколи не відчував, що це сповільнює роботу комп'ютера. Очевидно, що немає заміни на тону оперативної пам’яті та SSD-дисків, але якщо ви не можете / не будете йти на це і у вас є запасні шини USB, то це може допомогти
Меттью Стіплз

0

Це неможливо, принаймні, не без величезних зусиль з боку Google.

По суті, Android Studio повинен був би підтримувати багатовузлову розподілену обробку, подібно до видобутку BitCoin та Folding @ Home.

Після натискання компіляції на вашому ноутбуці він відправить шматок коду на робочий стіл для обробки. Як тільки робочий стіл закінчиться обробкою, він поверне його на ваш ноутбук, щоб він міг склеїти речі разом.


Я сумніваюся, що компіляція - це те, що спалює пам'ять в Android Studio.
Атсбі

0

У мене є офіс; кімната з особистим помічником і кабінет, де зберігаються 5000 книг, і робочий стіл з 20 місцями. Позначте цю конфігурацію як

  • Офіс = комп’ютер
  • Я = процесор (процесор)
  • Помічник = операційна система (ОС)
  • Desk = ОЗП
  • Шафа = Жорсткий диск

У будь-який час 20 книг, максимум, може вийняти з кабінету мій помічник і помістити на робочий стіл для роботи. Завдяки власній роботі мого секретаря, він може розмістити на моєму столі книгу чи дві власні книги (скажімо, ми бідні і не можемо дозволити собі інший стіл).

Якщо я хочу попрацювати над іншими книгами, більше місця не буде, і мій помічник повинен визначити, яку поточну книгу на столі я, мабуть, використовую в даний момент, і перенесу цю книгу в кабінет, щоб зробити дорогу іншим книгам, які я хочу. Асистент повинен ходити до столу та кабінету кожного разу, коли мені хочеться працювати над книжкою, яка не знаходиться в межах мого досяжності.

Для системи з недостатньою оперативною пам’яттю саме це робить ОС для процесів, які, здається, не дуже активні - візьміть вміст пам’яті та запишіть їх на диск у сховище віртуальної пам’яті, звільнивши оперативну пам’ять для інших процесів, які цього потребують. Як і відстань між робочим столом і шафою, існує "відстань" між процесором, оперативною пам’яттю та диском. Диск неймовірно далекий і повільний, як ви відчуваєте свій ноутбук.

У наступному кабінеті у мого колеги є стіл, достатньо місткий для 80 книг. Не було б непогано, якби він міг «поділитися» деякою частиною свого столу, щоб зберігати мої книги? Так що я міг практично мати 100 книг?

Ну, по-перше, помічники в кожному кабінеті неминуче повинні розміщувати якісь власні книги, щоб вони могли виконувати власну роботу (не підлягає обороту). Всі ОС в системі повинні використовувати деяку оперативну пам’ять, щоб виконати свою роботу, інакше у вас не буде ОС для початку. Тому я не отримую повних 20 книг, а також мій колега, який отримав 80 книг. І мій колега має власну роботу, яка ще більше виснажує наявний простір.

Крім того, помічники не навчаються переміщати книги між офісами (вважайте, що рівень їх компетентності має обмеження). Існуюча архітектура Windows не забезпечує прямого використання оперативної пам'яті іншого віддаленого комп'ютера.

А тепер уявіть, якби помічники справді були навчені правильно пересувати книги між офісами та чітко пам’ятати право власності на книги, ходити між офісами, швидше за все, буде ще повільнішою процедурою, оскільки виїзд з одного офісу в інший - на більшу відстань. Мало того, що коли помічник забирає книги з іншого кабінету, йому все одно доведеться очистити місце на вашому власному столі, переміщаючи непотрібні книги назад у кабінет. Навіщо змушувати його так сильно ходити?

Вихід з одного комп’ютера для зберігання / отримання речей на іншому комп’ютері через мережу, принаймні для вашого випадку використання, недосяжний, оскільки додаток і ОС не знають, як його виконати. І це було б не дуже ефективно.

Якщо ви хочете продовжувати роботу з ноутбуком, встановіть більше оперативної пам’яті (більший стіл) або встановіть твердотільний диск (шафа з організаційними функціями, що дозволяє швидше знаходити книги).

Зауважте, що в деяких конфігураціях насправді може бути швидше зберігати та витягувати дані з віддалених комп'ютерів - існують кластерні програмні технології, які роблять саме це - потім отримувати доступ до повільних обертових дисків, але вони все ще не відповідають вашому сценарію.

Розглянемо часові шкали доступу до даних між апаратними ресурсами .


7
Я думаю, ви занадто буквально трактуєте питання. Очевидно, що на комп’ютерах не може бути 10 ГБ кожен, але, в принципі, комп'ютери можуть обмінюватися 10 ГБ, щоб, наприклад, вони могли використовувати 5 ГБ кожен замість того, щоб ноутбук був обмежений 2 ГБ. Виступ був би жахливим, але це можливо в принципі.
Девід Річербі

@DavidRicherby - Питання слід читати буквально. Написане слово - це чудова річ, єдине, що воно означає, - це саме те, що ви говорите. Тож автор буквально запитує, чи можуть вони поєднати системну пам'ять двох незалежних комп'ютерів для підвищення продуктивності, що, звичайно, неможливо.
Рамхаунд

6
@Ramhound Ви, схоже, неправильно зрозуміли цю відповідь. Ця відповідь каже , що це неможливо поєднати систему 2GB і систему 8GB , щоб отримати дві системи друг з 10GB (бо це було б в цілому 20GB, який не існує). Інтерпретується надмірно буквально, саме так і задається питання. Ви говорите про комбінування 2 ГБ + 8 ГБ, щоб отримати дві системи, що обмінюються 10 ГБ, саме про це і хочеться задати питання. Тож ви скоріше застрелили себе в ногу зі своїм твердженням, що питання слід читати буквально: буквальне запитання - це нісенітниця; задумане питання принаймні має сенс.
Девід Річербі

@DavidRicherby - Якщо ти так кажеш. Я знайшов відповідь корисною. Оскільки це правильно зазначено, ви не можете поєднувати системну пам'ять з двох незалежних комп'ютерних систем так само, як ви не можете комбінувати два резервуари з двома окремими та незалежними автомобілями. Звичайно, я не впевнений, що він придумав 220, що справді не має сенсу.
Рамхаунд

Це запитання та відповідь - ідеальний приклад GIGO :)
Ратна
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.