Bitcoin Forum
November 02, 2024, 01:00:21 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Ускорение реализации известных алгоритм  (Read 1746 times)
n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 01:49:53 PM
 #1

Прочитав все темы из разделов Майнеры и Кодеры, зарегистрировался здесь, потому как очень заинтересовала тема криптовалют. Предлагаю начать обсуждение известных алгоритмов расчета, используемых при транзакциях в сети криптовалют.
Начну сам со следующего посыла:
В 64-битных многоядерных системах основной акцент нужно сделать на асинхронность и многозадачность. То есть, если мы увеличим производительность операции на 1 нс, при 100кк таких операций выигрыш будет очень существенным.

--
Чуть позже, из дома приложу рабочий пример для c#.
manbacher
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 10, 2013, 03:33:53 PM
 #2

Прочитав все темы из разделов Майнеры и Кодеры, зарегистрировался здесь, потому как очень заинтересовала тема криптовалют. Предлагаю начать обсуждение известных алгоритмов расчета, используемых при транзакциях в сети криптовалют.
Начну сам со следующего посыла:
В 64-битных многоядерных системах основной акцент нужно сделать на асинхронность и многозадачность. То есть, если мы увеличим производительность операции на 1 нс, при 100кк таких операций выигрыш будет очень существенным.

--
Чуть позже, из дома приложу рабочий пример для c#.

Я так понимаю, алгоритмы предполагается ускорять кому-то другому? Интересно, что такого ускоренного можно написать на C#?
deisik
Legendary
*
Offline Offline

Activity: 3542
Merit: 1280


English ⬄ Russian Translation Services


View Profile WWW
December 10, 2013, 04:02:11 PM
Last edit: December 10, 2013, 05:51:05 PM by deisik
 #3

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

Я только через какое-то время осознал смысл сказанного... Shocked

n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 05:18:56 PM
 #4

Я так понимаю, алгоритмы предполагается ускорять кому-то другому? Интересно, что такого ускоренного можно написать на C#?
Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором. На c# мы пишем объектно-ориентированную модель поведения нашей программы, которую, да будет вам известно, компилятор сначала преобразовывает в IL, а затем уже в машинный код. Попрошу не флудить в теме, поскольку тема будет длинная и мы придем к сути, необходимой для осознанного подхода к написанию кода, и надеюсь, вложим часть своего труда в развитие всех направлений IT.
manbacher
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 10, 2013, 05:25:28 PM
 #5

Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором. На c# мы пишем объектно-ориентированную модель поведения нашей программы, которую, да будет вам известно, компилятор сначала преобразовывает в IL, а затем уже в машинный код. Попрошу не флудить в теме, поскольку тема будет длинная и мы придем к сути, необходимой для осознанного подхода к написанию кода, и надеюсь, вложим часть своего труда в развитие всех направлений IT.

Мне стало интересно. С удовольствием посмотрю на развитие. Для начала вопрос, речь о клиенте?
n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 05:26:51 PM
 #6

Я только через какое-то время осознал суть сказанного... Shocked

Я бы порекомендовал вам чуть больше читать, чтобы суть сказанного доходила до вас мгновенно, и не характеризовала вас с не очень выгодной стороны.
n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 05:34:32 PM
 #7

Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором. На c# мы пишем объектно-ориентированную модель поведения нашей программы, которую, да будет вам известно, компилятор сначала преобразовывает в IL, а затем уже в машинный код. Попрошу не флудить в теме, поскольку тема будет длинная и мы придем к сути, необходимой для осознанного подхода к написанию кода, и надеюсь, вложим часть своего труда в развитие всех направлений IT.

Мне стало интересно. С удовольствием посмотрю на развитие. Для начала вопрос, речь о клиенте?
На текущий момент речь идет об ускорении алгоритмов. А именно конкретной реализации нескольких алгоритмов. А именно, для того, чтобы учувствовать в процессе поддержания жизнедеятельности сети, мы должны от пир-клиента, в данном случае это оф.клиент, получить данные и заняться их обсчетом.
Вопрос первый: Насколько оперативно мы получаем данные. То есть сколько времени занимает процесс от нашего запроса на получение данных (готовности) до получения задачи?
И, сопутствующий вопрос, почему оф.клиент перестал майнить?
Xtc
Legendary
*
Offline Offline

Activity: 1973
Merit: 1028


;u


View Profile WWW
December 10, 2013, 05:48:00 PM
 #8

Quote
И, сопутствующий вопрос, почему оф.клиент перестал майнить?
Ты уверен что прочитал все темы из разделов майнеры и кодеры? Надо не названия тем читать, а то что внутри)
manbacher
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 10, 2013, 05:52:33 PM
 #9

На текущий момент речь идет об ускорении алгоритмов. А именно конкретной реализации нескольких алгоритмов. А именно, для того, чтобы учувствовать в процессе поддержания жизнедеятельности сети, мы должны от пир-клиента, в данном случае это оф.клиент, получить данные и заняться их обсчетом.
Вопрос первый: Насколько оперативно мы получаем данные. То есть сколько времени занимает процесс от нашего запроса на получение данных (готовности) до получения задачи?
И, сопутствующий вопрос, почему оф.клиент перестал майнить?


Я чувствую бред. Конкретная реализация алгоритмов вовсе не на C#, никакая объектная модель с друмя трансляторами их не ускорит. Алгоритмов много разных используется, но постановка вопросов вызывает удивление даже у меня. Начну с конца: оф. клиент перестал майнить с тех пор, как мощность одного процессора стала ничтожно мала, по сравнению с общей мощностью сети, как следствие, вероятность награды за блок устремилась к нулю. Поддерживать нерабочий функционал -- кому оно полезно? Об этом много где написано, прочитавшему "все темы из разделов Майнеры и Кодеры", это должно было попасться, хотя бы в FAQ. Теперь почему бред: о каких именно данных речь? Чтобы знать какие данные нужны, сначала нужно знать на какой именно вопрос они должны отвечать. Пока что я вижу абстрактные пасы в воздухе про алгоритмы, данные, объектную модель и прочие баззворды.
n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 06:04:46 PM
 #10

Я чувствую бред. Конкретная реализация алгоритмов вовсе не на C#, никакая объектная модель с друмя трансляторами их не ускорит. Алгоритмов много разных используется, но постановка вопросов вызывает удивление даже у меня. Начну с конца: оф. клиент перестал майнить с тех пор, как мощность одного процессора стала ничтожно мала, по сравнению с общей мощностью сети, как следствие, вероятность награды за блок устремилась к нулю. Поддерживать нерабочий функционал -- кому оно полезно? Об этом много где написано, прочитавшему "все темы из разделов Майнеры и Кодеры", это должно было попасться, хотя бы в FAQ. Теперь почему бред: о каких именно данных речь? Чтобы знать какие данные нужны, сначала нужно знать на какой именно вопрос они должны отвечать. Пока что я вижу абстрактные пасы в воздухе про алгоритмы, данные, объектную модель и прочие баззворды.

Бред надо сначала почувствовать, потом осознать, а потом избавится от него.
Мы хотим поддерживать сеть. Мы хотим не просто получать все транзакции. Мы хотим считать. Мы отправляем запрос участнику сети - оф.клиенту. Он там кидает данные. Мы их обсчитываем и пытаемся найти лучший вариант из всех.
Так?
Так вот. Вопрос стоит следующим образом, насколько актуальны данные для нас, как принимающей стороны в этой цепочке. Как быстро наш запрос к оф.клиенту найдет ответ?
n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 06:13:04 PM
 #11

Ты уверен что прочитал все темы из разделов майнеры и кодеры? Надо не названия тем читать, а то что внутри)

Ты майнишь оф.клиентом? Ты знаешь сколько тактов процессора занимает запрос-ответ? Ты вообще представляешь себе структуру протокола?
deisik
Legendary
*
Offline Offline

Activity: 3542
Merit: 1280


English ⬄ Russian Translation Services


View Profile WWW
December 10, 2013, 06:24:44 PM
 #12

Я чувствую бред. Конкретная реализация алгоритмов вовсе не на C#, никакая объектная модель с друмя трансляторами их не ускорит. Алгоритмов много разных используется, но постановка вопросов вызывает удивление даже у меня. Начну с конца: оф. клиент перестал майнить с тех пор, как мощность одного процессора стала ничтожно мала, по сравнению с общей мощностью сети, как следствие, вероятность награды за блок устремилась к нулю. Поддерживать нерабочий функционал -- кому оно полезно? Об этом много где написано, прочитавшему "все темы из разделов Майнеры и Кодеры", это должно было попасться, хотя бы в FAQ. Теперь почему бред: о каких именно данных речь? Чтобы знать какие данные нужны, сначала нужно знать на какой именно вопрос они должны отвечать. Пока что я вижу абстрактные пасы в воздухе про алгоритмы, данные, объектную модель и прочие баззворды.

Бред надо сначала почувствовать, потом осознать, а потом избавится от него.

Юноша бледный со взором горящим...

n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 06:43:40 PM
 #13

Юноша бледный со взором горящим...

Попрошу вас в моей ветке быть корректным и изъясняться по существу если, конечно, есть что сказать. Вот скажите мне, что быстрее for или foreach?
И да, мне 35.
manbacher
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 10, 2013, 06:49:26 PM
 #14

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

Quote
Мы отправляем запрос участнику сети - оф.клиенту. Он там кидает данные.


Тут я вижу уже конкретику. Видимо, речь о JSON-RPC к стандартному клиенту.

Quote
Мы их обсчитываем и пытаемся найти лучший вариант из всех.

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

Quote
Как быстро наш запрос к оф.клиенту найдет ответ?

Зависит от запроса. Например, запрос на перевод 0.0000001 биткоина без комиссии может и вовсе не найти ответа.
Wi-Fu
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500


View Profile
December 10, 2013, 06:56:56 PM
 #15

Quote
Summary - n00by
Date Registered:    Today at 11:16:57 AM

Quote
Summary - manbacher
Date Registered:    Today at 01:48:16 PM

- Разговоры с самим собой?
- Если так, то зачем?
- Продвигать C# ?
- Но C# не нужен...


Алгоритмы будет ускорять компилятор и, собственно, процессор исполняющий инструкции написанные машинным кодом тем самым компилятором.
Судентота?


Юноша бледный со взором горящим...

Попрошу вас в моей ветке быть корректным и изъясняться по существу если, конечно, есть что сказать. Вот скажите мне, что быстрее for или foreach?
И да, мне 35.

http://habrahabr.ru/post/198588/#comment_6887060  Smiley

deisik
Legendary
*
Offline Offline

Activity: 3542
Merit: 1280


English ⬄ Russian Translation Services


View Profile WWW
December 10, 2013, 07:11:31 PM
 #16

Юноша бледный со взором горящим...

Попрошу вас в моей ветке быть корректным и изъясняться по существу если, конечно, есть что сказать. Вот скажите мне, что быстрее for или foreach?
И да, мне 35.

foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++

n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 07:12:41 PM
 #17

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

Вот вы, в теме кодеров я вас встречал. Скажите мне, какая тактовая частота, ну или какое количество унарных операций совершает микроконтроллер с именем ASIC? Именно сам контроллер.. Потому как управляется он Атмегой с 38 МГц.
n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 07:18:44 PM
 #18

foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++
Вы изъясняетесь как уголовник.
deisik
Legendary
*
Offline Offline

Activity: 3542
Merit: 1280


English ⬄ Russian Translation Services


View Profile WWW
December 10, 2013, 07:21:29 PM
 #19

foreach в крестах нету, а решётки мне неинтересны. Если что, официальный кошелёк написан на c++
Вы изъясняетесь как уголовник.

Я и уши могу надрать за дешёвые понты...

n00by (OP)
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
December 10, 2013, 07:24:48 PM
 #20

Тут я вижу уже конкретику. Видимо, речь о JSON-RPC к стандартному клиенту.

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

Зависит от запроса. Например, запрос на перевод 0.0000001 биткоина без комиссии может и вовсе не найти ответа.

Вы понимаете как работает майнинг? Я вот себе разложил. И первый вопрос, который у меня возник, какие я получаю задания, запрашивая getwork? И какова скорость реакции у того, кто мне их присылает?
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!