Описание тега parallel-collections

0 ответов

Управление параллелизмом и вложенными параллельными коллекциями scala

Мне очень трудно понять это поведение параллельных коллекций в Scala. import java.util.concurrent.TimeUnit import scala.collection.parallel.ForkJoinTaskSupport object test extends App { val CHANGE_ME = false val externalParallelism = if (CHANGE_ME) …
1 ответ

Факторный расчет с использованием актеров Scala

Как вычислить факториал с использованием акторов Scala? И будет ли это более эффективным по сравнению с, например, def factorial(n: Int): BigInt = (BigInt(1) to BigInt(n)).par.product Большое спасибо.
07 фев '14 в 09:35
1 ответ

Параллельная обработка сбора данных, превышающих объем памяти

Есть ли простой способ использовать параллельные коллекции scala без загрузки полной коллекции в память? Например, у меня есть большая коллекция, и я хотел бы выполнить определенную операцию (сгиб) параллельно только на небольшом фрагменте, который …
2 ответа

Как создать параллельную коллекцию Scala из коллекции Java

Самый простой способ преобразовать коллекцию Java в эквивалент Scala - использовать JavaConversions, начиная с Scala 2.8., Эти неявные определения возвращают оболочки для содержащейся коллекции Java. В Scala 2.9 введены параллельные коллекции, в ко…
12 окт '12 в 12:39
0 ответов

Как ограничить количество потоков, доступных для приложения scala/akka

Я написал приложение, в котором используются параллельные коллекции scala и актеры akka, и теперь я хотел бы изучить его свойства "сильного масштабирования", то есть, как изменяется время выполнения для данного экземпляра проблемы в зависимости от ч…
08 окт '13 в 15:57
1 ответ

Сопоставьте арифметическую операцию с коллекцией Scala и суммируйте результат

Вот код, которым я поделился со своей учебной группой вчера: https://gist.github.com/natemurthy/019e49e6f5f0d1be8719. После компиляции я запускаю map.scala со следующими параметрами кучи: $ scala -J"-Xmx4G" map и получите следующие результаты для 4 …
1 ответ

Обновление массива через параллельные коллекции Scala

У меня есть этот массив HashMap, определенный как ниже var distinctElementsDefinitionMap: scala.collection.mutable.ArrayBuffer[HashMap[String, Int]] = new scala.collection.mutable.ArrayBuffer[HashMap[String, Int]](300) with scala.collection.mutable.…
3 ответа

Когда ConcurrentBag лучше, чем список?

Я использую Parallel.Foreach для заполнения внешнего ConcurrentBag. Я попытался также использовать общий список, и все работает отлично. Мне повезло или я пропустил специальную сферу ConcurrentBag?
1 ответ

Как можно использовать параллельный массив?

Я пытаюсь использовать параллельные коллекции Scala для параллельной отправки некоторых вычислений. Поскольку входных данных много, я использую изменяемые массивы для хранения данных, чтобы избежать проблем с сборкой мусора. Это первоначальный подхо…
31 июл '14 в 22:46
2 ответа

Параллельные операции с картами?

Предоставляет ли Scala способ выполнения операций параллельной карты как части стандартного языка? Например, учитывая: scala> val a = List((1,2), (3,4), (3,6)) a: List[(Int, Int)] = List((1,2), (3,4), (3,6)) Я могу сделать: scala> a.map(tup =&…
20 ноя '13 в 10:07
5 ответов

Является ли этот параллельный массив scala потокобезопасным?

Я хочу использовать параллельные массивы для задачи, и прежде чем я начну с кодирования, мне было бы интересно узнать, является ли этот небольшой фрагмент кода потокобезопасным: import collection.mutable._ var listBuffer = ListBuffer[String]("one","…
07 май '11 в 11:51
1 ответ

Сравнение шаблонов Scala ParArray

Рассматривать val b = ParArray("a","b","c") Тем не менее, при сопоставлении с образцом b например, следующим образом, b match { case ParArray(_,"b",_) => 2 case _ => -1 } <console>:11: error: object ParArray is not a case class, nor does…
3 ответа

Преобразование массивов на месте с параллельными коллекциями

Когда у вас есть массив объектов, часто желательно (например, по соображениям производительности) обновить (заменить) некоторые из объектов на месте. Например, если у вас есть массив целых чисел, вы можете заменить отрицательные целые на положительн…
26 май '11 в 16:17
2 ответа

Карта ParVector не работает параллельно

У меня есть немного кода, как: val data = List(obj1, obj2, obj3, obj4, ...).par.map { ... } и ParVector составляет примерно 12 элементов. Я заметил, что вся моя работа выполняется в основном потоке, поэтому я проследил трассировку стека и обнаружил,…
27 сен '11 в 00:32
1 ответ

Скала разных параллельных структур

Я тестировал параллельные коллекции на Scala против простой коллекции, вот мой код: def parallelParse() { val adjs = wn.allSynsets(POS.ADJECTIVE).par adjs.foreach(adj => { parse(proc.mkDocument(adj.getGloss)) }) } def serialParse() { val adjs = w…
2 ответа

Почему JVM вычислила размер PS Survivor Space слишком мал для параллельного коллектора

Я использую JDK1.6.0_16 JVM для Java-приложения, размещенного на Linux Intel procesor 80 cores machine, при запуске приложения Java у меня настроены только две опции-Xms2048m -Xmx8000m в опциях JVM (после команды Java). Я вижу, что PS Old Gen рассчи…
1 ответ

Параллельные коллекции scala: идиоматический способ иметь локальные переменные потока для рабочих потоков

Функция прогресса ниже - моя рабочая функция. Мне нужно дать ему доступ к некоторым классам, которые дорого создавать / приобретать. Есть ли какой-нибудь стандартный механизм для локальных переменных потока в библиотеках для этого? Или мне придется …
2 ответа

Будет ли вызов.seq в параллельных коллекциях гарантировать, что все потоки объединены?

У меня есть коллекция, на которую я звоню .par, как это: myCollection.par.map(element => longRunningOperation(element)).seq println("after map") Будет звонить .seq гарантировать, что все потоки объединены перед продолжением, и все карты завершены…
19 авг '11 в 10:51
1 ответ

Создание параллельных представлений Scala с помощью X.par.view против X.view.par?

Согласно статье о параллельных коллекциях и поиске в Интернете, параллельные коллекции должны работать с представлениями, но я не понимаю разницу между coll.par.view.someChainedIterations а также coll.view.par.someChainedIterations Это похоже на col…
3 ответа

Распределение работы по нескольким ядрам: параллельные коллекции Hadoop или Scala?

Как лучше всего использовать несколько ядер для параллельной обработки в системе Scala/Hadoop? Допустим, мне нужно обработать 100 миллионов документов. Документы не очень большие, но обработка их требует больших вычислительных ресурсов. Если у меня …