D>Добавлю... может излишне жёстко, но всё же D>В Вашей ситуации если не выбрать реальной практической задачи для решения, то Вам будет не защититься. Объясню — работы в теоретической области хорошо даются, если на кафедре есть люди, которые в своих теоретических работах заложили некоторый фундамент, от которого вы потом сможете оттолкнуться. Строить свои теоретические изыскания на основе статей сторонних авторов достаточно сложно, поскольку в этом деле крайне важно личное общение — дискусс с автором статьи.
Позволю не согласиться. Все зависит от желания работать. Было бы желание — источники найдутся. Сейчас очень много препринтов, да и диссертаций в РГБ в электронном виде много, можно и заказывать через библиотеку вуза. Поэтому даже в одиночку работу сделать _можно_. Защитить — почти нереально.
D>Поэтому если идти в аспирантуру, то сразу же брать быка за рога и решать с ним какую конкретную, практическую(а теоретическую, я как понял, вам не смогут предложить) будете решать.
Опять не то. Практические задачи — темы дипломных работ. Там надо показывать квалификацию как инженера (ну, или теперь — специалиста). Тут же — необходимо, чтобы в работе присутствовала научная (или, то, что подразумевается под этим — теоретическая) новизна. Не обязательно изобретать новые методы решения известных задач. Достаточно, например, взять известные методы и разработать методику их применения для решения того класса задач, где раннее они не применялись, или разработать улучшения известных методов. Практическая реализация — в диссертации дело десятое (и "страшная тайна" — в подавляющем большинстве случаев практическая часть ограничивается прототипом, который примерно позволяет оценить применимать предлагаемых методов\моделей, несмотря на громкие заявления о внедрениях в самой диссертации).
D>Второе. Если Вы хотите саморазвития дальнейшего как программиста и т.д. То аспирантура не единственный путь. Возможно, в Вашем городе есть возможность устроиться на работу по интересующей вас тематике.(вы писали, что уже работаете в web-dev фирме, о смене работы думать не будете?)
Если самоцель — развитие как программиста, то аспирантура вообще не та дорога. Программированию (в кодерском, да пожалуй, и не только, смысле слова) она ортогональна. Поступая в аспирантуру, следует четко осознавать, что тут от вас требует не инженерное умение решать задачи "топором", а ставить методы решения задач для других инженеров. Т.е. не просто сделать, а научить\показать, как сделать.
AS>>Начинать с нуля. Как я понимаю, других вариантов у вас нет. Вообще, были научные исследования, публикации за время учебы? Если да, какая тематика? Был ли постоянный научный руководитель?
V>НЕТ Участвовала пару раз в внутреуниверситетских конкурсах по созданию обучающих программ. Занимала первые места. Но это все судя по всему несерьезно.
Тогда я не могу понять, на что вы надеялись, когда поступали... Точнее, вообще не могу понять мотивы, честно.
AS>>В общем, вам надо серьезно говорить с научным руководителем, проведя прежде те действия, о которых я писал ранее. Иначе вы будете делать то, что скажет он, интересно вам это или нет. В этом случае результат может и быть. Если будете делать только то, что интересно вам — 100% (ок, 99), что ваше дело не выгорит. Тут дело компромисов, нравится вам это или нет...
V>Поговорила с моим руководилелем, заявила о сфере моих интересов. Он сказал, что вел уже одного аспиранта, который занимался параллельным программированием, осталась от него недописанная диссертация на англ. языке и неопубликованные статьи. Не дописал — вызвали в Канаду на работу. Все бросил перед защитой и уехал. Вообщем сказал, что если я смогу как-то усовершенствовать его начинания, то из этого может получиться неплохая диссертация.
Вы уверены, что точно понимаете под параллельным программированием то, что это на самом деле? Это очень серьезная тематика, которая требует хорошего знания дискретной (и не только) математики, теории графов, множеств, алгоритмов, поиска решений, численных методов, функционального анализа и логики... Я бы сказал, что это даже больше не техническая, а физ-мат. проблема — посмотрите, например, работы по lockfree программированию. Т.е. базовые теоретические знания требуются довольно серьезные. Например, http://lib.mexmat.ru/books/9207
Студенты от курса этого гражданина вешаются Редко кто больше тройки получает.
Я не то чтобы отговариваю, отнюдь (тем более, я не могу оценивать ваши знания в предметных областях). Просто следует трезво оценивать свои силы, заранее изучив основные вопросы предметноей области и определить те, которые вы собираетесь затрагивать. Чем уже специфика — тем лучше же для вас.
В любом случае — удачи.
Здравствуйте, Vishenka, Вы писали:
V>Здравствуйте, FDSC, Вы писали:
FDS>>Странно, что вы хотите заниматься параллельными вычислениями и не знаете при этом этой книги... FDS>>Книга очень хорошая, то же советую.
V>Спасибо за совет. Да я хочу этим заниматься, но в университете у нас было несколько ознакомительных лекций, ничего практического. Думаете нелепо осваивать новую область будучи аспирантом? Слишком мало времени?
Не в этом дело. Если у вас есть доступ к многопроцессорной системе (скажем, процессоров 16 хотя бы) — то вы справитесь. Если нет — то это будет пустая трата времени, фантазирование что можно было бы сделать, если бы она у вас была.
Если хочется — то надо. Другой вопрос, нужно выбрать действительно актуальную тему и понять, дейстсвительно ли вам этого хочется, ведь есть и другие темы. Возможно в городе, где вы живёте есть НИИ или даже просто коммерческие фирмы, занимающиеся смежными задачами, нужно попытатся связаться с ними и найти актуальную и новую тему диссертации, если науч. рук. ничего не может посоветовать. В общем, нужно найти людей, которые рядом с вами занимаются параллельными вычислениями на РЕАЛЬНЫХ машинах, вполне возможно, они захотят вам помочь. Главное в таком случае, не забыть, что если вы возьмёте частную проблему, она должна быть именно научной или хорошо обобщаться до неё (и вы должны будете её обобщить), иначе вас могут просто не выпустить на защиту...
В общем требуются: реальные люди и высокопроизводительная система (хотя бы некотрое подобие), реальная проблема, причём именно научная, а не инженерная.
Re[6]: Параллельное программир-е - подходящая область для ди
FDS>>>Странно, что вы хотите заниматься параллельными вычислениями и не знаете при этом этой книги... FDS>>>Книга очень хорошая, то же советую.
V>>Спасибо за совет. Да я хочу этим заниматься, но в университете у нас было несколько ознакомительных лекций, ничего практического. Думаете нелепо осваивать новую область будучи аспирантом? Слишком мало времени?
FDS>Не в этом дело. Если у вас есть доступ к многопроцессорной системе (скажем, процессоров 16 хотя бы) — то вы справитесь. Если нет — то это будет пустая трата времени, фантазирование что можно было бы сделать, если бы она у вас была.
Да при чем тут доступ? Параллельное программирование — не практическая, а теоретическая область. Существует множество эмуляторов параллельных систем. Можно даже на однопроцессорной системе оценить работоспособность алгоритмов lockfree или распределения ресурсов. И высокая производительность тут тоже не при чем — оценить сравнительную производительность методов\средств можно на любой технике.
FDS>Если хочется — то надо. Другой вопрос, нужно выбрать действительно актуальную тему и понять, дейстсвительно ли вам этого хочется, ведь есть и другие темы. Возможно в городе, где вы живёте есть НИИ или даже просто коммерческие фирмы, занимающиеся смежными задачами, нужно попытатся связаться с ними и найти актуальную и новую тему диссертации, если науч. рук. ничего не может посоветовать. В общем, нужно найти людей, которые рядом с вами занимаются параллельными вычислениями на РЕАЛЬНЫХ машинах, вполне возможно, они захотят вам помочь. Главное в таком случае, не забыть, что если вы возьмёте частную проблему, она должна быть именно научной или хорошо обобщаться до неё (и вы должны будете её обобщить), иначе вас могут просто не выпустить на защиту...
FDS>В общем требуются: реальные люди и высокопроизводительная система (хотя бы некотрое подобие), реальная проблема, причём именно научная, а не инженерная.
Никаких особых технических средств не требуется (они могут потребоваться только для проведения практических исследований уже после разработки и апробации методов). Требуется умение ставить и решать задачи.
Здравствуйте, Vishenka, Вы писали:
V>Поговорила с моим руководилелем, заявила о сфере моих интересов. Он сказал, что вел уже одного аспиранта, который занимался параллельным программированием, осталась от него недописанная диссертация на англ. языке и неопубликованные статьи. Не дописал — вызвали в Канаду на работу. Все бросил перед защитой и уехал. Вообщем сказал, что если я смогу как-то усовершенствовать его начинания, то из этого может получиться неплохая диссертация.
Ну, вот видите, не всё так страшно. Посмотрите, обязательно, книгу Воеводиных, особенно главы 6, 7, 8. Если вам математики хватает — можете браться, Если тяжело — думайте. Посмотрите другие книги. В общем, судя по всему у вас есть шансы, раз уж даже руководитель не против...
Re[6]: Параллельное программир-е - подходящая область для ди
Здравствуйте, FDSC, Вы писали:
FDS>Не в этом дело. Если у вас есть доступ к многопроцессорной системе (скажем, процессоров 16 хотя бы) — то вы справитесь. Если нет — то это будет пустая трата времени, фантазирование что можно было бы сделать, если бы она у вас была.
В нашей стране есть возможность бесплатно получить достп к многопроцессорным системам и использовать их в своих целях. Естественно требуется обосновать необходимость использования ресурсов...
... << RSDN@Home 1.2.0 alpha rev. 653>>
Re[7]: Параллельное программир-е - подходящая область для ди
Здравствуйте, SeLarin, Вы писали:
SL>В нашей стране есть возможность бесплатно получить достп к многопроцессорным системам и использовать их в своих целях. Естественно требуется обосновать необходимость использования ресурсов...
Согласен. Могу привести примеры конкретные — партнёрские программы от Intel и IBM — предоставляют свои ВЦ для тестирования ваших программ, бесплатно(на халяву). Возможен удалённый доступ к этим ВЦ.
Ну и потом сейчас и в некоторых Вузах есть кластера(Томский вуз, нпр.), иногда Вуз взаимодействует с промышленностью — на предприятиях есть ВЦ. Было бы чего тестировать, на чём тестировать сейчас найти сравнительно легко.
Re[7]: Параллельное программир-е - подходящая область для ди
Здравствуйте, Andrew S, Вы писали:
FDS>>>>Странно, что вы хотите заниматься параллельными вычислениями и не знаете при этом этой книги... FDS>>>>Книга очень хорошая, то же советую.
V>>>Спасибо за совет. Да я хочу этим заниматься, но в университете у нас было несколько ознакомительных лекций, ничего практического. Думаете нелепо осваивать новую область будучи аспирантом? Слишком мало времени?
FDS>>Не в этом дело. Если у вас есть доступ к многопроцессорной системе (скажем, процессоров 16 хотя бы) — то вы справитесь. Если нет — то это будет пустая трата времени, фантазирование что можно было бы сделать, если бы она у вас была.
AS>Да при чем тут доступ? Параллельное программирование — не практическая, а теоретическая область. Существует множество эмуляторов параллельных систем. Можно даже на однопроцессорной системе оценить работоспособность алгоритмов lockfree или распределения ресурсов. И высокая производительность тут тоже не при чем — оценить сравнительную производительность методов\средств можно на любой технике.
Никому не посоветовал бы заниматься "теоретической" областью, имеющей явное прикладное значение. Оценить — да, но реальные результаты на высокопроизводительной системе будут совсем другие, не думаю что для какого-нибудь компьютера есть исчерпывающая модель его поведения. С моей точки зрения, было бы неинтересно заниматься параллельным программированием в абсолютно теоретическом смысле слова. Возможно, если только оптимизирующими компиляторами.
AS> AS>Никаких особых технических средств не требуется (они могут потребоваться только для проведения практических исследований уже после разработки и апробации методов). Требуется умение ставить и решать задачи.
Насчёт умения ставить и решать задачи — да требуется. Но проблемы лучше брать реальные, а не те, которые выдумал сам.
Re[7]: Параллельное программир-е - подходящая область для ди
Здравствуйте, SeLarin, Вы писали:
SL>Здравствуйте, FDSC, Вы писали:
FDS>>Не в этом дело. Если у вас есть доступ к многопроцессорной системе (скажем, процессоров 16 хотя бы) — то вы справитесь. Если нет — то это будет пустая трата времени, фантазирование что можно было бы сделать, если бы она у вас была.
SL>В нашей стране есть возможность бесплатно получить достп к многопроцессорным системам и использовать их в своих целях. Естественно требуется обосновать необходимость использования ресурсов...
Я не про то. Лучше просто на ней работать и знать проблемы, что называется "изнутри", что бы темы были не вымученными из головы. К тому же, у меня есть сомнение, что этого "доступа" будет достаточно много для того, что бы по нормальному въехать в систему. Просто проблем от этого сильно прибавится.
У меня самого в работе аналогичная ситуация: теоретически я могу получить результаты натурного эксперимента, но практически мне это мало что даёт, нужно немного не то...
Опять же, что касается аргументов AndrewS, у меня то же теоретическая работа в области, имеющей прикладную направленность. Но сама работа в практической деятельности вряд ли что даст, так как существуют альтернативные методы, которые всех устраивают, а если кого-то и не устраивают, то они молчат в тряпочку об этом и не видно их, и не слышно. Не то чтобы это для меня сейчас было критично, но в аспирантуру по этой теме я не пойду, я уже сейчас чувствую, как мне неприятно работать над темой, актуальность которой я не чувствую и не могу обосновать.
Re[8]: Параллельное программир-е - подходящая область для ди
Здравствуйте, Didro, Вы писали:
D>Здравствуйте, SeLarin, Вы писали:
SL>>В нашей стране есть возможность бесплатно получить достп к многопроцессорным системам и использовать их в своих целях. Естественно требуется обосновать необходимость использования ресурсов...
D>Согласен. Могу привести примеры конкретные — партнёрские программы от Intel и IBM — предоставляют свои ВЦ для тестирования ваших программ, бесплатно(на халяву). Возможен удалённый доступ к этим ВЦ. D>Ну и потом сейчас и в некоторых Вузах есть кластера(Томский вуз, нпр.), иногда Вуз взаимодействует с промышленностью — на предприятиях есть ВЦ. Было бы чего тестировать, на чём тестировать сейчас найти сравнительно легко.
Как я уже сказал, в этом нужно "вариться", чтобы было интересно. Лично моё мнение. Впрочем, куча народу занимается тем, чего вообще не понимает, так что, наверное, не так всё плохо. Но лично мне было бы тяжело так заниматься параллельными системами, это примерно то же самое, что теоретически ухаживать за девушкой.
Re[8]: Параллельное программир-е - подходящая область для ди
FDS>>>Не в этом дело. Если у вас есть доступ к многопроцессорной системе (скажем, процессоров 16 хотя бы) — то вы справитесь. Если нет — то это будет пустая трата времени, фантазирование что можно было бы сделать, если бы она у вас была.
AS>>Да при чем тут доступ? Параллельное программирование — не практическая, а теоретическая область. Существует множество эмуляторов параллельных систем. Можно даже на однопроцессорной системе оценить работоспособность алгоритмов lockfree или распределения ресурсов. И высокая производительность тут тоже не при чем — оценить сравнительную производительность методов\средств можно на любой технике.
FDS>Никому не посоветовал бы заниматься "теоретической" областью, имеющей явное прикладное значение. Оценить — да, но реальные результаты на высокопроизводительной системе будут совсем другие, не думаю что для какого-нибудь компьютера есть исчерпывающая модель его поведения. С моей точки зрения, было бы неинтересно заниматься параллельным программированием в абсолютно теоретическом смысле слова. Возможно, если только оптимизирующими компиляторами.
Любая теоретическая область имеет прикладное значение, явное или не очень. Еще раз — разработать методы\методики, и оценить их сравнительную производительность (то, что называет апробация) на эмуляторе — реально, да не то что реально — так и надо делать. А уже внедрение и оценка результатов внедрения — заказываешь время на ВЦ и вперед. Можно и удаленно, как уже говорили. В кандидатской работе внедрение — дело десятое. А уж если область вообще теоретическая, что в плане параллельного программирования я могу представить себе довольно легко, то и внедрения никто требовать не будет.
AS>> AS>>Никаких особых технических средств не требуется (они могут потребоваться только для проведения практических исследований уже после разработки и апробации методов). Требуется умение ставить и решать задачи.
FDS>Насчёт умения ставить и решать задачи — да требуется. Но проблемы лучше брать реальные, а не те, которые выдумал сам.
При чем тут это? Задачи могут быть вполне реальными, методы их решеия — чисто теоретическими.
Пример? Легко. Мой сокурсний Юрий Уральский, когда писал свою демонстрашку под NV40, победившую на конкурсе нвидии, вообще не имел даже подобной видеокарты (тогда и были, что только инженерные самплы). Однако вполне смог запрограммировать, пересчитать на эмуляторе в ави и победить. Выводы можете сделать сами.
Здравствуйте, FDSC, Вы писали:
FDS>Не советую. FDS>Подумайте, как вы будете отрабатывать ваши решения. Где вы возьмёте параллельную систему для "натурных" испытаний? FDS>Подумайте, кто будет оценивать актуальность вашей темы (кроме вас), сможет ли кто-нибудь помочь вам, поправить? Иначе можно написать работу, которая будет никому не нужна.
В Москве есть суперкомпьютерный центр (в здании академии наук). Там 736 процессорная машина стоит.
Если учишься в профильной аспирантуре, то удаленный доступ на нее получить можно,
Re[5]: Параллельное программир-е - подходящая область для ди
Здравствуйте, Vishenka, Вы писали:
V>Спасибо за совет. Да я хочу этим заниматься, но в университете у нас было несколько ознакомительных лекций, ничего практического. Думаете нелепо осваивать новую область будучи аспирантом? Слишком мало времени?
Нет, не нелепо. Я начал рыть тему своей нынешней работы за полгода до поступления в аспирантуру. Хотя сейчас состояние такое, что успею или нет — фифти-фифти.
Re[6]: Параллельное программир-е - подходящая область для ди
Здравствуйте, Andrew S, Вы писали:
AS>Вы уверены, что точно понимаете под параллельным программированием то, что это на самом деле? Это очень серьезная тематика, которая требует хорошего знания дискретной (и не только) математики, теории графов, множеств, алгоритмов, поиска решений, численных методов, функционального анализа и логики... Я бы сказал, что это даже больше не техническая, а физ-мат. проблема — посмотрите, например, работы по lockfree программированию. Т.е. базовые теоретические знания требуются довольно серьезные. Например, http://lib.mexmat.ru/books/9207 AS>Студенты от курса этого гражданина вешаются Редко кто больше тройки получает.
Андрей, Вы не из МЭИ? Если нет, то я удивлен, что Топоркова где-то вовне используют.
Re[3]: Параллельное программир-е - подходящая область для ди
Здравствуйте, Гоги, Вы писали:
Г>В Москве есть суперкомпьютерный центр (в здании академии наук). Там 736 процессорная машина стоит. Г>Если учишься в профильной аспирантуре, то удаленный доступ на нее получить можно,
Во-первых, там стоит не 736, а 768 процессорный кластер (МВС 1000М). Во-вторых, он там не самый мощный. Ну а в-третьих, аспирантура не обязательно должна быть профильной.
Re[3]: Параллельное программир-е - подходящая область для ди
Здравствуйте, FDSC, Вы писали:
FDS>Не такое уж и гиблое. У меня знакомый защищался. Правда проблемы были. А на нашей кафедре вообще аспиранты пишут диссеры по специальностям, которые в нашем ВУЗе не могут рассматривать — тут как угодно приходится совет искать, другое дело, тут уже связи есть.
Согласись, что сначала нужно рассмотреть путь наименьшего сопротивления. А уж особенно в применении к нашей научной мафии. Тут, кстати, помогает крупность фигуры твоего научного руководителя. Благо вот, у меня совет свой в вузе, и как раз по паралельным вычислениям туда можно.
Re[2]: Параллельное программир-е - подходящая область для ди
Здравствуйте, FDSC, Вы писали:
FDS>Подумайте, как вы будете отрабатывать ваши решения. Где вы возьмёте параллельную систему для "натурных" испытаний?
Говорят, сейчас 2-ядерные процессоры продают? А за большие бабки даже и 4-ядерные?
На самом деле, если есть голова на плечах, то экстраполировать работу программы на большее число процессоров можно (оценка, конечно, не точной будет, но похожей на правду). А вот иметь двухядерник, а не одноядерник для домашних тестов важно. Иначе многие баги мимо пролетают.
Re[7]: Параллельное программир-е - подходящая область для ди
AS>>Вы уверены, что точно понимаете под параллельным программированием то, что это на самом деле? Это очень серьезная тематика, которая требует хорошего знания дискретной (и не только) математики, теории графов, множеств, алгоритмов, поиска решений, численных методов, функционального анализа и логики... Я бы сказал, что это даже больше не техническая, а физ-мат. проблема — посмотрите, например, работы по lockfree программированию. Т.е. базовые теоретические знания требуются довольно серьезные. Например, http://lib.mexmat.ru/books/9207 AS>>Студенты от курса этого гражданина вешаются Редко кто больше тройки получает.
M>Андрей, Вы не из МЭИ? Если нет, то я удивлен, что Топоркова где-то вовне используют.
Из МЭИ. Но Топорков читает лекции не только у нас. Кстати, указанная книга Воеводиных по сравнению с тем, что требует от студентов он — курс ликбеза...
Здравствуйте, Andrew S, Вы писали:
M>>Андрей, Вы не из МЭИ? Если нет, то я удивлен, что Топоркова где-то вовне используют.
AS>Из МЭИ. Но Топорков читает лекции не только у нас. Кстати, указанная книга Воеводиных по сравнению с тем, что требует от студентов он — курс ликбеза...
Да я в курсе про сравнительный уровень Воеводиных и Топоркова. Первых я прочел, будучи поверхностно знакомым с этой темой. Нового узнал, но немного. Из Топрокова читал только то, что мне было нужно. Уровень совсем другой.