8

У меня есть две системы. Один представляет собой ноутбук и имеет 2 ГБ оперативной памяти, а другой - настольный компьютер с 8 ГБ оперативной памяти. Можно ли совместно использовать эти ресурсы, чтобы обе системы имели 10 ГБ ОЗУ?

Программное обеспечение, которое я хочу запустить на обеих системах, - это Android Studio..., которое в настоящее время переносится не очень хорошо.

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

спасибо чел, но у меня есть другой вопрос .. как насчет обмена через кабель Ethernet? например, через коммутатор или V-LAN, вообще не пользуясь интернетом и получая скорость передачи спуска ???

7 ответов7

21

Только некоторые программы позволяют разделять процессы по сети (некоторые программы 3D-рендеринга, эффективно разделяющие оперативную память) (см. Ответ Джулиана Найта)

Проблема с интернетом будет слишком медленной (см. Ответ Spiff)

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

Что ты можешь сделать:

Установите клиент удаленного рабочего стола на свой ноутбук и подключитесь к нему. Таким образом, вы можете "работать на своем рабочем столе" через туннель.

Так что тяжелая программа (android studio) будет работать на вашем рабочем столе! И ноутбук будет беспокоить только клиент удаленного рабочего стола.

Это эффективно использует аппаратное обеспечение ПК и, таким образом, будет работать лучше (если ваш ноутбук и клиент удаленного рабочего стола достаточно и достаточно просты для работы).

Я хотел бы добавить, что это не "разделяет" оперативную память, а просто использует оперативную память компьютера, чего вполне достаточно.

9

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

1

В настоящее время это невозможно, но на самом деле это было указано на картах в той или иной форме и обозначено как « После Vista » как часть системы «ReadyBoost», которая позволяет использовать USB-накопитель в качестве носителя для чтения файла подкачки (и другие файлы) быстрее, чем с помощью диска. Это не дополнительная ОЗУ как таковая, но если вы используете много ОЗУ, это может сократить время, которое ваш компьютер тратит на пейджинговые операции с диском.

Похоже, что в вашем сценарии вам пригодится USB-накопитель объемом 32 ГБ, предназначенный для ReadyBoost.

1

Нет, это невозможно.

Единственным небольшим исключением является случай, когда вы используете инструмент, способный разделить обработку на несколько машин, например, рендеринг трехмерной графики. Тем не менее, это не совсем то, что вы спрашиваете.

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 не поддерживает его.

Так что, к сожалению, нет.

0

У меня есть офис; комната с личным помощником и шкафом для хранения 5000 книг и рабочим столом с местом для 20 книг. Представьте эту конфигурацию как

  • Офис = компьютер
  • Me = процессор (CPU)
  • Помощник = операционная система (ОС)
  • Desk = RAM
  • Шкаф = Жесткий диск

В любой момент мой ассистент может выложить максимум 20 книг из кабинета и положить на стол для работы. Из-за собственной работы моего секретаря он может поместить одну или две книги на мой стол (скажем так, мы бедны и не можем позволить себе другой стол).

Если я захочу поработать над другими книгами, места больше нет, и мой помощник должен определить, какие текущие книги на столе я реже всего буду использовать, и поместит эту книгу обратно в шкаф, чтобы освободить место для других книг, которые я хочу. Помощник должен ходить по столу и шкафу каждый раз, когда я хочу поработать над книгой, недоступной мне.

Для системы с недостаточным объемом ОЗУ именно это и делает ОС для процессов, которые, по-видимому, не очень активны - извлекают содержимое их памяти и записывают их на диск в хранилище виртуальной памяти, освобождая ОЗУ для других процессов, которым это необходимо. Так же, как существует расстояние между столом и шкафом, существует "расстояние" между процессором, оперативной памятью и диском. Диск невероятно длинный и медленный, как и в случае с вашим ноутбуком.

В соседнем офисе у моего коллеги достаточно места для 80 книг. Разве не было бы хорошо, если бы он мог "поделиться" со своим столом, чтобы хранить мои книги? Чтобы у меня было практически 100 книг?

Ну, во-первых, помощники в каждом офисе неизбежно должны поместить некоторые из своих собственных книг, чтобы они могли выполнять свою собственную работу (не подлежит обсуждению). Все ОС в системе должны использовать некоторое ОЗУ для своей работы, иначе у вас не будет ОС для начала. Так что я не получаю целых 20 книг, а мой коллега - 80 книг. И у моего коллеги есть своя собственная работа, которая еще больше истощает доступное пространство.

Кроме того, помощники не обучены перемещению книг между офисами (примите, что их уровни компетентности имеют предел). Существующая архитектура Windows не предусматривает непосредственного использования ОЗУ другого удаленного компьютера.

Теперь представьте, если помощники действительно были обучены правильно перемещать книги между офисами и четко помнить о владении книгами, очень вероятно, что ходить между офисами будет еще более медленной процедурой, потому что выход из одного офиса в другой находится на большем расстоянии. Мало того, что когда помощник забирает книги из другого офиса, ему все равно придется освободить место на вашем собственном столе, перетаскивая ненужные книги обратно в шкаф. Зачем заставлять его ходить так много?

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

Если вы хотите продолжить работу с ноутбуком, установите больше оперативной памяти (больший рабочий стол) или установите твердотельный диск (шкаф с функциями организации, которые ускоряют поиск книг).

Обратите внимание, что в некоторых конфигурациях на самом деле может быть быстрее хранить и извлекать данные с удаленных компьютеров - существуют программные технологии кластеризации, которые делают именно это - затем для доступа к медленно вращающимся дискам, но они все еще не удовлетворяют вашему сценарию.

Рассмотрим временные рамки доступа к данным между аппаратными ресурсами.

0

Это невозможно, по крайней мере, без огромных усилий со стороны Google.

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

После нажатия кнопки compile на вашем ноутбуке, он отправит кусок кода на ваш рабочий стол для обработки. Как только рабочий стол завершит обработку, он отправит его обратно на ваш ноутбук, чтобы можно было соединить все вместе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .