Общий вопрос: время доступа к сети, время доступа к кэшу, время доступа к диску - PullRequest
1 голос
/ 03 мая 2011

Я написал симулятор распределенной файловой системы клиент-сервер. Теперь, чтобы вычислить среднее время доступа к блоку, я хочу следующее:

  1. Время доступа к локальному кэшу
  2. Время доступа к клиентскому кэшу (в той же сети)
  3. Время доступа к кэшу от клиента к серверу (в другой сети)
  4. Время доступа клиента к диску

Предполагая, что размер блока составляет 64 МБ ...

Может ли кто-нибудь дать мне приблизительное время ... Ссылки, чтобы доказать это будет оценено ...

Спасибо.

1 Ответ

0 голосов
/ 03 мая 2011

Почему бы вам просто не измерить это?

Для сети используйте команду ping для измерения задержки и разделите 64 МБ на доступную полосу пропускания для задержки распространения. Для файлов используйте cat , для основной памяти используйте

public static void main(String[] args) {
    byte[] data = new byte[64*1024*1024];
    long start = System.nanoTime();
    int sum = 0;
    for (byte b : data) {
        sum += b;
    }
    long end = System.nanoTime();
    System.out.println(new BigDecimal(end - start).movePointLeft(9));
}

Который на моей машине дает

0,209555405

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...