Я могу эмулировать MS, Вычисляют Кластерный Сервер на моей dev машине?

Вот простой пример.

Модель будет вашим конструктором с сеттерами и геттерами.

public class ModelExample {

        String title;

        public ModelExample(String title) {
            this.title = title;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }
}

Давайте создадим список этой модели и добавим к нему заголовки. Вы сделаете цикл for вашего массива json и добавите значения. Это будет похоже на это.

List<ModelExample> model = new ArrayList<ModelExample>();
model.add(new ModelExample("instructor"));
model.add(new ModelExample("Dev"));
model.add(new ModelExample("Dev 2"));
model.add(new ModelExample("Dev 3"));
model.add(new ModelExample("Dev 4"));
model.add(new ModelExample("Dev 5"));
model.add(new ModelExample("Dev 6"));

Если я хочу распечатать все ...

      for (int k = 0; k < model.size(); k++) {
          System.out.println("Title: " + model.get(k).getTitle());
      }

Это напечатает следующее:

Title: instructor
Title: Dev
Title: Dev 2
Title: Dev 3
Title: Dev 4
Title: Dev 5
Title: Dev 6

Затем я хочу просмотреть список, и у меня есть условие, что если заголовок индекса равен инструктору, я его удаляю. [ 1114]

for (int i = 0; i < model.size(); i++) {
    if (model.get(i).getTitle().equals("instructor")){
        model.remove(i);
    }
}

Затем я хочу создать новый JSONArray и добавить оставшиеся элементы в моем списке как объект json.

JSONArray array = new JSONArray();
    try {
        for (int i = 0; i < model.size(); i++) {
            JSONObject object = new JSONObject();
            object.put("title", model.get(i).getTitle());
            array.put(object);
        }


        System.out.println("JSONArray: " + array.toString());

    } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

Окончательное значение печати будет таким.

[{
    "title": "Dev"
}, {
    "title": "Dev 2"
}, {
    "title": "Dev 3"
}, {
    "title": "Dev 4"
}, {
    "title": "Dev 5"
}, {
    "title": "Dev 6"
}]

Вот весь мой класс, который я закодировал. Пожалуйста, имейте в виду, что вы всегда должны практиковать ООП. Создайте методы для удаления индекса вместо того, чтобы иметь его во всем классе. Это очень быстрый и грязный способ сделать это.

import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class ModelExample {

        String title;

        public ModelExample(String title) {
            this.title = title;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }


    public static void main(String[] args) {
        // TODO Auto-generated method stub
          List<ModelExample> model = new ArrayList<ModelExample>();
          model.add(new ModelExample("instructor"));
          model.add(new ModelExample("Dev"));
          model.add(new ModelExample("Dev 2"));
          model.add(new ModelExample("Dev 3"));
          model.add(new ModelExample("Dev 4"));
          model.add(new ModelExample("Dev 5"));
          model.add(new ModelExample("Dev 6"));


          for (int k = 0; k < model.size(); k++) {
              System.out.println("Title: " + model.get(k).getTitle());
          }

          System.out.println("\n\nSize of list before removing: " + model.size());

          for (int i = 0; i < model.size(); i++) {
              if (model.get(i).getTitle().equals("instructor")){
                  model.remove(i);
                  System.out.println("REMOVED INSTRUCTOR");
              }
          }

          System.out.println("Size of list after removing: " + model.size() + "\n\n");

          JSONArray array = new JSONArray();
          try {
              for (int i = 0; i < model.size(); i++) {
                  JSONObject object = new JSONObject();
                  object.put("title", model.get(i).getTitle());
                  array.put(object);
              }

              for (int j = 0; j < array.length(); j++) {
                  System.out.println("Title: " + array.get(j));
              }

              System.out.println(array.toString());
          } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
          }
    }

}

И, наконец, это напечатано следующее:

Title: instructor
Title: Dev
Title: Dev 2
Title: Dev 3
Title: Dev 4
Title: Dev 5
Title: Dev 6


Size of list before removing: 7
REMOVED INSTRUCTOR
Size of list after removing: 6


Title: {"title":"Dev"}
Title: {"title":"Dev 2"}
Title: {"title":"Dev 3"}
Title: {"title":"Dev 4"}
Title: {"title":"Dev 5"}
Title: {"title":"Dev 6"}
[{"title":"Dev"},{"title":"Dev 2"},{"title":"Dev 3"},{"title":"Dev 4"},{"title":"Dev 5"},{"title":"Dev 6"}]
5
задан pnuts 25 September 2014 в 23:46
поделиться

3 ответа

Возможно, этот вебкаст может выручить Вас

Ссылка события

3
ответ дан 14 December 2019 в 19:28
поделиться

Вебкаст был полезен, в этом он приводит меня к API MPI.Net. MPI.Net позволит мне писать исполняемый файл, который может быть запущен с помощью mpiexec.exe и может справиться с процессом создания и контроля параллельных задач. Из того, что я понимаю, главный узел в кластере автоматически делегирует каждую задачу к соответствующему, вычисляют узлы для меня.

Начиная с поставок mpiexec.exe с ComputeCluster SDK, и будет работать на моей многоядерной dev машине, это может быть достаточно близко к кластерной эмуляции для меня, чтобы сделать мое задание.

Спасибо за помощь.

1
ответ дан 14 December 2019 в 19:28
поделиться

В зависимости от «трудоемкости» вашей машины для разработки, вы можете относительно легко настроить локальный кластер с помощью HyperV. Вы не увидите увеличения производительности реального кластера / фактического оборудования, но для таких инструментов управления, которые вы пытаетесь собрать, должно работать нормально. Товарная коробка с 4-8 ГБ оперативной памяти должна хорошо работать для создания головного узла и двух дочерних узлов для dev / test.

1
ответ дан 14 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: