LINUX.ORG.RU

Сообщения yz

 

HugePages для вычислений

Форум — Development

Почитал я тут немного про huge pages и решил попробовать вот что. Выделяем из общей памяти кусок в гигабайт размером, состоящий из этих самых huge pages. Далее строим индексный массив длиной N = 1G/sizeof(double) и забиваем его случайными значениями от 0 до N. Потом в цикле i = 0:N-1 делаем sum += array[index[i]]. Время работы цикла сравниваем с аналогиным циклом, в котором используется массив, выделенный простым new.

Так вот, первый цикл работает в 2 раза медленнее, чем второй. Я не понимаю почему. Кто может объяснить?

yz
()

Сборка CMake для Win64

Форум — Development

Может кто-нибудь поделиться сабжем, чтобы был ещё cmake-gui Qt-шный был собран?

Заранее спасибо за помощь.

yz
()

Распараллелить алгоритм

Форум — Development

Есть вектор, элементы которого могут иметь значение 0 или 1. Алгоритм бежит по вектору от начала до конца, для каждого не нулевого элемента i вычисляет f(i) = {j_k}, среди которых не будет i, и записывает в каждый j_k элемент значение 1, не разбираясь, что было в этом элементе до того. Функция f такова, что f(f(i)_k) = {n_k}, среди которых попадётся i.

Если параллелить этот алгоритм тупо, так что каждый поток бежит по своей части вектора и записывает во все остальные части, то надо много блокировок на чтение-запись для элементов вектора. Однако, если вообще не делать блокировок, то результат гарантировано будет правильный ввиду свойств функции f, и логики алгоритма. Тем не менее, без блокировок формально будут race-ы.

Почему-то мне думается, что можно сделать алгоритм без блокировок, без гонок и без перерасхода памяти...

P.S. Алгоритм имеет отношение к симметризации шаблона разреженной матрицы.

yz
()

Как Линукс управляет памятью?

Форум — Development

Если у нас есть 2 процессора и каждого процессора есть отдельный канал в общую память, так что один DIMM подключен к одному каналу, а другой DIMM к другому каналу, может ли ядро выделить физические страницы так, чтобы каждый процессор работал со "своим" DIMM-ом? Или у ядра нет таких возможностей?

yz
()

Семафор или условная переменная?

Форум — Development

Дано N потоков, которые ждут некоего сигнала, чтобы начать работу. Главный поток готовит задание для этих потоков и посылает им долгожданный сигнал. N < числа поцессоров. Как лучше послать сигнал:

1) prepare_data();
for( int i = 0; i < N; ++i )
sem_post( start_sem );

или

2) pthread_mutex_lock( prepare_mutex );
prepare_data();
pthread_cond_broadcast( start_cond );
pthread_mutex_unlock( prepare_mutex );

Заранее спасибо за помощь.

yz
()

GDB multi-thread debug

Форум — Development

Как дебажить в GDB многопоточные проги? Когда я запускаю прогу в GDB, в месте, где создаются потоки GDB вываливается и на экран пишется

[1]+ Stopped gdb

Что я делаю не так?

Заранее спасибо на помощь.

>>>

yz
()

Большая файловая система

Форум — Admin

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

Заранее спасибо за помощь.

>>>

yz
()

Продолжаем разборки с RHEL

Форум — Admin

Installation numbers я получил, зарегился на RHN, дают скачать исошки. А вот в разделе Systems у меня пусто. Как туда добавить мои линуксы?

Заранее спасибо за помошь.

>>>

yz
()

MC на RedHat Enterprise 5

Форум — Admin

Подскажите, пожалуйста, как установить mc на RH Enterprise 5.

# yum install mc
Failed to set locale, defaulting to C
Loading "security" plugin
Loading "rhnplugin" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Parsing package install arguments
No package mc available.
Nothing to do

P.S. А с локалями чё делать? 

Первый раз с современным редхатом общаюсь...

>>>

yz
()

А так правда плохо делать? ( C++ )

Форум — Development

class Base {};

class A : public Base {};

class C
{
    public:
        Base &b;
        C( Base &aB ) : b(aB) {}
};

class D : public C
{
    public:
        A a;
        D() : C(a) {}
};

>>>

yz
()

Злобный G++

Форум — Development

Почему gcc требует public для A::A(), ведь в данном примере A::A() не используется вообще?

$ cat opyt.cpp
#include <iostream>

using namespace std;

class A
{
    public:
        A( int i ) { cout << "A::A( int )" << endl; }

    private:
        A() { cout << "A::A()" << endl; }
};

class B
{
    public:
        A a;
        B( int i ) : a(i) {}

    private:
        B(){}
};

int main()
{
    B b(1);
    return 0;
}

$ g++ -g opyt.cpp
opyt.cpp: In constructor 'B::B()':
opyt.cpp:20: error: 'A::A()' is private
opyt.cpp:30: error: within this context

P.S. Почему после неудачного добавления сообщения "Preformatet text" перескакивает на "TeX paragraph"?

>>>

yz
()

друзья классов в C++

Форум — Development

А что, разве нельзя написать так?

template<class Friend>
class C
{
friend class Friend;
};

>>>

yz
()

Разрешить юзеру по ssh выполнять только определённые команды.

Форум — Admin

Как?

Заранее спасибо за помощь.

P.S. А ещё хорошо бы в chroot это всё... А может лучше виртуальную машину?

>>>

yz
()

Объединить винчестеры...

Форум — Admin

Подскажите, пожалуйста, какие в современном Линуксе существуют способы объединить 2 десятка винчестеров в одной машине в односвязное пространство на программном уровне. Где про это читать?

Заранее спасибо за помощь.

>>>

yz
()

Файловый сервер

Форум — Linux-hardware

Ищется фирма, которая могла бы установить в нашу стойку файловый сервер "под ключ" с возможностью горячего добавления до 8-ми винтов SATA в логически односвязное хранилище и раздачей файлов по сети.

>>>

yz
()

Ну, и какой... нехороший человек... сказал мне T61 брать?

Форум — Linux-hardware

1. Сеть не работает 2. Звук не работает 3. Отпечатки не работают 4. Модем не работает

>>>

yz
()

Самописный init

Форум — Development

Гружу ядро с параметром init=/my_prog.

my_prog пишет нечто в файл /my_file.txt и потом заканчивается.

1. Что нужно написать в my_prog, чтобы сбросить буфера на диск? 2. Что нужно написать в my_prog, чтобы ребутнуть машину?

Зранее спасибо за помощь.

>>>

yz
()

Спонтанные замедления вычислений

Форум — Development

Система линейных уравнений решается итерационным методом за ~250 итераций в течение ~50 сек. Однако из сотни абсолютно одинаковых запусков решателя несколько раз всё решается за время более 60-ти сек. Размер системы 400К уравненй, 5М ненулевых коэффициентов. На разных машинах воспроизводитсяя. Время меряется вызовами clock(3), вывод команды time (real и user) коррелирует с нашим временем.

Интересно, от чего так?

>>>

yz
()

Какой ноут купить?

Форум — Linux-hardware

12-13", мощный процессор, >= 2Gb RAM, большой винчестер, WLAN, Bluetooth, чтобы нормально работал в Линуксе?

>>>

yz
()

Как включить компьютер?

Форум — Linux-hardware

Ноут HP tx1000. Обновил Линукс, после штатного выключения на ночь и включения на следующий день при распаковке ядра всё зависло намертво. Пришлось выключать питание. После этого комп не запускается. Вентиляторы жужжат, но экран чёрный, на кнопки не реагирует, не пищит... Как же его включить, чтобы загрузиться с сидюка и поставить нормальный Линукс?

>>>

yz
()

RSS подписка на новые темы