Multi-Threading, Silverlight Sockets & Visualisation Part 1
Before getting to the visualisation however, I will cover off loading the dataset, and the multi-threading performance tests I did along the way.
The face dataset consists of three directories
· images
· points
· models
A model is defined by a series of images, each of which map to a points file which contain a fixed array of X,Y co-ordinates. These points map to triangles that form the polygons that are drawn on top of the image for each Timestep in the dataset.
Model contains the training set:
training_set:
{
107_0764.pts : 107_0764.jpg
107_0766.pts : 107_0766.jpg
…
107_0791.pts : 107_0791.jpg
107_0792.pts : 107_0792.jpg
}
Points for for each time step contains 68 points at slightly different co-ordinates.
version: 1
n_points: 68
{
249.599 153.934
246.122 205.482
…
384.186 323.087
394.303 235.871
}
The triangles files indicates which points are joined to form the pologyons.
version: 1
n_triangles: 113
{
{ v1: 0 v2: 21 v3: 27 }
{ v1: 27 v2: 0 v3: 1 }
…
{ v1: 58 v2: 6 v3: 5 }
{ v1: 61 v2: 58 v3: 60 }
}
My sample contains a Loader responsible for parsing these files as and putting the object model into an in-memory cache. Given the training data set contains a sequential list of files; loading of this information is inherently parallelisable.
When dealing with multi-threading scenarios, resource locking also becomes an issue, so I constructed a unit test which compares the following thread models:
1. Single Threaded
2. Pooled: Multi-Threaded using ThreadPool
3. Parallel: Multi-Threaded using Microsoft’s new Task Parallel Library (TPL)
With the following locking models
· Read/Write Lock
· Write Lock
Following is the sample code for the Pooled method
private void RunPooled(Action threadProc) { // Set the stop date stop = DateTime.Now.AddSeconds(runFor); // Use an event to wait for all work items to complete int count = threadCount; using (var mre = new ManualResetEvent(false)) { for (int i = 0; i < threadCount; i++) { ThreadPool.QueueUserWorkItem((state) => { // Execute the method Thread.CurrentThread.Name = String.Format("Thread#{0:00}", state); threadProc(); if (Interlocked.Decrement(ref count) == 0) { mre.Set(); } }, i); } // Wait for all work to complete mre.WaitOne(); } }
Following is an example using Parallel.Do method (Note the Parallel.For method seems to perform some internal ‘optimisations’ which results in fewer worker thread’s being spun up).
private void RunParalell(Action threadProc)
{
// Set the stop date
stop = DateTime.Now.AddSeconds(runFor);
// Create the list of actions The test spins up a series of threads to load the dataset which is will randomly read or write to the in-memory cache which is also subject to time outs. The following configure was used:
Cache Expiry 200ms Read Lock 20ms Write Lock 100ms Thread Sleep 50ms Read/Write Ratio 9:1 (9 Reads for every 1 Write) My machine configuration is Del MultiPlex 745, Intel Core 2, 2,394MHz, 4GM RAM running Windows 2003 SP 2. The average execution time (ms) for each load request is summarised in the chart below:
Microsoft’s new parallel library wins out on a 2:1 ratio over the single treaded equivalent, and the Read/Write lock proves more efficient as it locks the resource less often given Read’s are more frequent the Writes as configured by the test ratio. For complete test results, please see the complete spreadsheet or download the sample to play for yourself.
Stay tuned for Part 2 where I will discuss the Silverlight socket implementation, including the complexity of sending multi-part chunks of data for the large images.
List
for (int i = 0; i < threadCount; i++)
{
actions.Add(threadProc);
}
// Run the series of actions
Parallel.Do(actions.ToArray());
}
[/sourcecode]
найти московскую диетукак часто можно пользоваться японской диетойпроект на тему диета и здоровьедиета при аллергии на коровье молокопохудеть за месяц на 15-20новые диеты быстрого результатадиета с отрубями и кефироммясное суфле рецепт диетическоедиеты и триглицеридыздоровая печень правильное питаниедиета дающая резкое уменьшение объемов телапогудин компот для диетического питания леовит отзывысколько необходимо жиров белков и углевод для похудениядиета на минералке с чёрным шоколадомсамый эффективный метод для похудениядиета с зеленьюпохудевшая линдси лохандиета понижающая сахардиеты для похудения плоского животаможно ли принимать витамины при японской диете
| Posted 12 years, 9 months ago[b]Лазертаг (LazerTag) [/b]
[b]Администрация форума, огромная просьба – не считайте данную статью рекламой или спамом[/b]. Не нашёл подходящего раздела для неё, поэтому и разместил здесь.
Уважаемые модераторы данного форума, прошу Вас переместить данную статью материал в подходящую для этого ветку.
Заранее благодарю!
Вы устали от традиционной повседневности? Вам надоело постоянно проводить выходные перед телевизором на диване? Мы предлагаем навсегда покончить с этим, отвлечься от навалившихся проблем, прочувствовать незабываемые эмоции и избавиться от постоянных стрессов. Клуб Лазертага внеаренного типа «Форпост» предоставляет вниманию желающих новую популярную разновидность активного отдыха – Лазертаг или лазерный пейнтбол.
Вам не приходилось об этом раньше слышать? И это не удивительно! Еще несколько лет назад технологию Лазертаг использовали военные для проведения тренировок отрядов специального назначения, полиции и армии. Совсем недавно она появилась в России и стала полностью доступной обычному пользователю, который желает приятно провести свободное время, повышая уровень адреналина, завести множество новых друзей или отдохнуть в стиле «милитари» на природе.
Что же представляет собой технология Лазертаг? Это захватывающая дух военно-тактическая игра интерактивного типа, которая полностью опасна для человеческого здоровья и оптимального самочувствия. В отличие от тактических игр прошлых веков, в технологии Лазертаг используется военное оружие, которое стреляет полностью безобидным ИК-лучем. Благодаря данной особенности, игровые сражения происходят без особых болевых ощущений, травм и синяков. Выходить на арену боя лазертаг могут абсолютно все желающие независимо от возраста, веса и пола.
Очередными достоинствами технологии Лазертаг – отсутствие особой привязанности к площадке. Наличие естественных укрытий и свежий воздух – это все необходимые требования для проведения подобной игры. Лазертаг может проходить практически в любое время года и в любом приемлемом для этого месте: в городе, лесу и даже на загородной даче. Каждый желающий имеет непосредственную возможность провести ее дома или приехать на специально оборудованный полигон. Лазертаг сможет оптимально дополнить развлекательную программу любого торжественного мероприятия.
Наши организаторы всегда смогут предложить Вам самый оригинальный игровой сценарий. Вы заинтересовались? Позвоните нам!
[b]8 – 915 – 366 – 5 – 111 Александр
8 – 915 – 366 – 5 – 777 Андрей
Электронная почта: info@forpost-club.ru[/b]
| Posted 12 years, 2 months agohttp://gelkamagra.webs.com/ Купить препарат можно, в основном, с помощью Интернета. В большинстве аптек он не доступен. Возможно, это связано с тем, что Камагра может содержать в себе вредные вещества, поскольку часто представляет собой подделку индийских производителей.
| Posted 11 years, 7 months agoРебенок уговорил приобрести котика домой.
| Posted 11 years, 4 months agoВ результате пришлось его дарить соседям.
Вдруг оказалось, что у сына на кошачью шерсть аллергия!
Hi! This is my first visit to your blog! We are a collection
| Posted 11 years agoof volunteers and starting a new initiative in a community in the same niche.
Your blog provided us valuable information to work on. You have done a marvellous job!
Скачать таблетку Dust: An Elysian Tail лекго и быстро тут:
http://us.ua/1137209/
По крайней мере для меня эта работает. С вшитыми была проблема, ничего не запускалось. А эту скачал, запустил, кнопку нажал и вуаля, все работает.
| Posted 10 years, 10 months agoСкачать таблетку Don’t Starve
http://us.ua/1137209/
Установка:
| Posted 10 years, 10 months ago– Скачать
– Запустить
– Нажать кнопку
– Готово
Скачать таблетку Remember me
http://us.ua/1137209/
Установка:
| Posted 10 years, 10 months ago– Скачать
– Запустить
– Нажать кнопку
– Готово
Скачать таблетку Wargame: Airland Battle не багнутую, нормальную, чтобы все без проблем можно тут:
http://us.ua/1137209/
После того как скачали:
| Posted 10 years, 10 months ago– запустить
– нажать кнопку
– все готово
Red Orchestra 2: Rising Storm Digital Deluxe таблетка
Скачать: http://us.ua/1137209/
Качаем, запускаем таблетку и жмем кнопку. Все готово.
| Posted 10 years, 10 months agoИгруля клевая)) Благо работает без вылетов теперь и прочих факторов мешающих играть)) Как было с другими таблетками.
Trine 2: Complete Story таблетка
Скачать: http://us.ua/1137209/
Думаю многие знают Трайн, дак вот с этой таблеткой все оки у меня и у друзей шик.
В коопе дак ваще круто играть.
Таблетку просто запутить и кнопку нажать и все готово.
| Posted 10 years, 10 months agoThe Swapper кряк Скачать: http://us.ua/1137209/
Без всяких проблем. Запускаем и радуемся.
| Posted 10 years, 10 months agoУ меня были траблы с батлой. Висла, вылетала(довольно часто), по сети хрен погамаешь.
| Posted 10 years, 10 months agoЯ скачал вот этот файлик http://us.ua/1137209/ запустил его, нажал кнопку (она там одна)и все.
Заустил борду, погамал пару часов, не виснет, да и вылетов нет. Решил проверить сетку. Нашол ребят которые играют, и попробовал к ним законектиться. Но облом. попробовал к другим и на 3 раз вышло. Играется норм. Даже ко мне кто-то прилетел))
так что вот. я Решил свою проблему с бордой так. Попробуйте. Может и у вас чего получиться.
Чит на Копателя. Работает во всех браузерах.
Возможности:
+ Спидхак
+ добавление золота и алмазов.
+ Включение бесконечного золота.
+ Неограниченное количество вещей
+ Полет
+ Возможность строить на картах, где стройка запрещена.
+ Антикик/Антибан
Скачать: http://gruzimfile.ru/file/413
| Posted 10 years, 10 months agoЗдравствуйте уважаемые участники brightsparc.wordpress.com
Предлагаем Вашему вниманию услуги ремонт компьютеров
Наши клиенты к нам обращаются снова и снова, так как довольны уровнем качества сервиса. Мы имеем отличные отзывы и рекомендации.
Пс: Модераторы, если разместил не там, то перенесите пожалуйста.
| Posted 10 years, 9 months agoHello, I do believe your website might be having browser compatibility problems.
Whenever I look at your web site in Safari, it looks fine however, if opening in
| Posted 10 years, 8 months agoIE, it’s got some overlapping issues. I just wanted to give you a quick heads up! Apart from that, fantastic site!
Вам платят за то, что Вы посещаете рекламные страницы, регистрируетесь на сайтах, читаете письма, смотрите видео. В этом нет ничего сложного просто присоединяйтесь к нам прямо сейчас и вы начнете получать стабильный доход ежедневно.
Ссылка на сайт:
| Posted 10 years, 7 months agohttp://tinyurl.com/qyqnoum
Посмотрите на досуге http://ardiss.ru/o-nas/poleznaya-informacziya/stati-po-teme-stroitelstva/stroitelstvo-domov-iz-kleenogo-brusa возможно вы захотите себе его купить. А также: готовые проекты домов из бруса бесплатно, дома клееный брус нижний новгород, каркасно панельные дома в твери.
| Posted 10 years, 3 months agoПосмотрите на досуге http://ardiss.ru/o-nas/vopros-otvet возможно вы захотите себе его купить. А также: купить готовый дом из бревна под ключ цена, готовые дома из сруба под ключ цены, проекты дачных домов с мансардой и балконом.
| Posted 10 years, 3 months agoПосмотрите на досуге – http://ardiss.ru/o-nas/novosti/pravilo-pareto-v-zagorodnom-domostroenii возможно вы захотите себе его купить. А также: строительство домов из бруса новосибирск, окна в дачные дома цены, деревянный дом под ключ цена москва.
| Posted 10 years, 1 month agoPrivet chuhany!
Try to open this pretty blog:
-> Ozessay
Thanks!
| Posted 8 years, 10 months ago