Cytat: buninek w 09 Lipiec 2013, 18:10Nie działa.
apt-get install boinc-server-maker
Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
Pokaż wiadomości MenuCytat: buninek w 09 Lipiec 2013, 18:10Nie działa.
apt-get install boinc-server-maker
Cytat: Troll81 w 09 Lipiec 2013, 18:08Nie wiem w czym się doszkolić i z jakich materiałów. Z ostatnich
po prostu doszkól się. To tak jak napisanie dokumentu nie wymaga wiedzy o instalowaniu drukarek w systemie.
Ale już wydrukowanie dokumentu może wymagać umiejętności instalacji drukarki w twoim systemie :D
Cytat: buninek w 09 Lipiec 2013, 17:03Może ja się do tego nie nadaję....
Na etabie budowania aplikacji, absolutnie Tobie to nie przeszkadza czy kernel jest współdzielony czy nie. Jakbyś planował wystawić serwer boincowy na "świat", to miałoby to istotne znaczenie.
Przeszkadza brak minimalnej wiedzy i doświadczenia w administrowaniu i użytkowaniu serwerów Linuxowych.
Cytat: buninek w 09 Lipiec 2013, 14:25Pierwszy raz w życiu słyszę o: Xen, KVM, OpenVZ, VServer, LXC, chroot.
VPS-owy hosting może również uzywać Xen-a, KVM-a, VMware, wtedy twój Debian będzie używał swojego kernela.
Jeśli jest to OpenVZ, Linux VServer, LXC, chroot to kernel jest współdzielony.
Cytat: buninek w 09 Lipiec 2013, 13:28
Przecież to jest VPS. Ty nie używasz kernela swojego (Debiana) a masz współdzielony to jest na 99% OpenVZ. W tym wypadku nie kontrolujesz kernel space, a jedynie userspace.
Cytat: buninek w 09 Lipiec 2013, 13:28Lepiej nie robię, bo jeszcze sobie system na laptopie rozwalę.
Zainstaluj na laptopie obok Centosa i zrób chroota z Debiana i wykonaj "unama -a".
Ojej, Centos używa kernela Debiana.
Cytat: krzyszp w 09 Lipiec 2013, 11:16
Mi też to się wydaje podejrzane, aleroot@rbsoftware:/etc/boinc-client# cat /proc/version
Linux version 2.6.32-042stab076.8 (root@rh6-build-x64) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Tue May 14 20:38:14 MSK 2013
na moim Debianie 7...
Myślę, że maszyna na której stoi VPS jest na CentOS'ie ;)
cat /proc/version
Linux version 2.6.32-5-amd64 (Debian 2.6.32-48squeeze1) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Feb 25 00:26:11 UTC 2013
Cytat: Rysiu w 08 Lipiec 2013, 19:56Ok, przeinstaluję na Debiana. Ale to następnym razem jak znajdę wolny czas, bo dziś
Ja jednak polecam Debiana. Ubuntu może trochę namieszać.
Cytat: krzyszp w 08 Lipiec 2013, 19:16
Po pierwsze - olej Ubuntu. Chyba wszystkie manuale dla serwera BOINC są pisane pod Debiana.
Po drugie - na laptopie miałeś inne pakiety instalowane wcześniej, a to, że ruszylo po czasie to pewnie efekt zmiany źródeł w GIT...
Po trzecie - dlaczego wszystko na siłę kompilujesz? Nie ma gotowych pakietów dla serwera BOINC w dystrybucji? Jak ostatnio patrzyłem, to się serwer stawiało kilkoma poleceniami, przerywanymi dłuuuugim oczekiwaniem na ściągnięcie wszystkiego, ale i tak było to może z pieć komend...
Po czwarte - w sources.list masz cztery adresy - pewnie wystarczą, ale ja z reguły dokładam adresy z edycji desktopowej....
Po piąte - adresy wskazują, że używasz Ubu11.10, to dość stara, w dodatku nie-LTS wersja... Masz jakiś powód szczególny, żeby (jak już Ubu) to nie używać 12.04LTS?
apt-get install boinc-server-maker
nie działa. Z kolei na stronie z opisem instalacji:
http://wiki.debian.org/BOINC/ServerGuide/Initialisation
Cytat: krzyszp w 08 Lipiec 2013, 16:26W ciągu ostatniego roku w QT + QTCreator napisałem ze 20 aplikacji. Nie
Akurat Qt Creatora to ja bym za przykład nie stawiał...
Na Ubuntu 13.04 Server (ale z desktopem) nie kompiluje się żaden tutorial, Na Win7 64bit z MinGW (zainstalowanym wcześniej pod AVR) to samo, dopiero na VPS'ie na czystym Debianie poszło z marszu...
Cytat: krzyszp w 08 Lipiec 2013, 16:26Na laptopie nie działało. Nie aktualizowałem zupełnie żadnego pakietu, nowych
Skoro na laptopie działa z bata,
Cytat: krzyszp w 08 Lipiec 2013, 16:26Nie znam się na administracji systemami :( Nie wiem co to znaczy przelecieć
a na VPS'ie nie chce, to wina definitywnie stoi po stronie konfiguracji VPS'a... Ja obstawiam właśnie nie doinstalowanie niezbędnych bibliotek... Pytanie tygodnia - jak instalowałeś system na VPSie? Czasami nie z obrazów płyt dostawcy hostingu? Jeśli tak, to "na dzieńdobry" przeleć sources.list...
cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu oneiric main restricted universe
deb http://archive.ubuntu.com/ubuntu oneiric-updates main restricted universe
deb http://security.ubuntu.com/ubuntu oneiric-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu oneiric partner
Cytat: Karlik w 08 Lipiec 2013, 16:39Nie wiem, tam problem polegał na całkowitym braku plików, powinien dobudować.
Tylko jak odpalasz od nowa configure to nie zmieniasz plików źródłowych tylko np. parametry kompilacji, więc make
może nie być w stanie rozpoznać czy dany plik da inny wynik czy nie.
Cytat: Karlik w 08 Lipiec 2013, 15:50Wszystkie wymienione tam paczki mam. Spróbowałem jeszcze raz i jeszcze i dupa i
No cóż... pierwszy link w google kieruje mnie na http://boinc.berkeley.edu/trac/wiki/ServerIntro gdzie na dole masz wylistowane najważniejsze paczki, które powinieneś mieć zainstalowane.
make clean
Cytat: Karlik w 08 Lipiec 2013, 15:50
Nie do końca rozumiem co masz na myśli pod "badziewnie zrobiony" - autoconfy i configure/make to dość standardowy sposób dostarczania źródeł i kompilacji w przypadku wolnego oprogramowania.
A link ze strony powyżej, gdzie masz więcej szczegółowych inforamcji o zależnościach: http://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix
Cytat: Karlik w 08 Lipiec 2013, 15:05Gdzie szukać informacji o tym jakie paczki są potrzebne?
configure praktycznie zawsze jeżeli czegoś szuka to szuka nagłówków i/lub bibliotek do zlinkowania.
Po prostu musisz doinstalować jakąś paczkę devel ;)
configure: WARNING: mysql not found.
======================================================================
WARNING: trying to build BOINC-server, but MYSQL was not be found.
If you dont want to build the server you should use --disable-server.
I am continuing now as if --disable-server had been specified.
======================================================================
Cytat: krzyszp w 07 Lipiec 2013, 19:48Jak się nie da w inny sposób, to spróbuję jak piszesz. Przeinstaluję na Debiana i zacznę
Ubuntu miesza trochę w ścieżkach w porównaniu do Debiana, nieduże tych nieścisłości jest, ale mogłeś akurat na coś takiego trafić...
Może spróbuj na czystym Debianie na maszynie wirtualnej?
Cytat: krzyszp w 07 Lipiec 2013, 14:45Wszystkie trzy instalacje o których mówiłem były/są na ubuntu.
Tak tylko dla pewności - stawiasz na Debianie?
Cytat: krzyszp w 07 Lipiec 2013, 01:18Ja nic takiego nie widzę :)failed to copy ../tools/dir_hier_path to /home/test/www/bin/dir_hier_path
Przecież widać, że ścieżki masz nie ustawione - "/dir_hier_path "...
Creating directories
Generating encryption keys
Copying files
failed to copy /home/test/boinc/sched/cgi to /home/test/www/cgi-bin/cgi
failed to copy /home/test/boinc/sched/file_upload_handler to /home/test/www/cgi-bin/file_upload_handler
failed to copy /home/test/boinc/sched/adjust_user_priority to /home/test/www/bin/adjust_user_priority
failed to copy /home/test/boinc/sched/antique_file_deleter to /home/test/www/bin/antique_file_deleter
failed to copy /home/test/boinc/sched/census to /home/test/www/bin/census
failed to copy /home/test/boinc/sched/db_dump to /home/test/www/bin/db_dump
failed to copy /home/test/boinc/sched/db_purge to /home/test/www/bin/db_purge
failed to copy /home/test/boinc/sched/delete_file to /home/test/www/bin/delete_file
failed to copy /home/test/boinc/sched/feeder to /home/test/www/bin/feeder
failed to copy /home/test/boinc/sched/file_deleter to /home/test/www/bin/file_deleter
failed to copy /home/test/boinc/sched/get_file to /home/test/www/bin/get_file
failed to copy /home/test/boinc/sched/make_work to /home/test/www/bin/make_work
failed to copy /home/test/boinc/sched/put_file to /home/test/www/bin/put_file
failed to copy /home/test/boinc/sched/sample_assimilator to /home/test/www/bin/sample_assimilator
failed to copy /home/test/boinc/sched/sample_bitwise_validator to /home/test/www/bin/sample_bitwise_validator
failed to copy /home/test/boinc/sched/sample_dummy_assimilator to /home/test/www/bin/sample_dummy_assimilator
failed to copy /home/test/boinc/sched/sample_trivial_validator to /home/test/www/bin/sample_trivial_validator
failed to copy /home/test/boinc/sched/sample_work_generator to /home/test/www/bin/sample_work_generator
failed to copy /home/test/boinc/sched/show_shmem to /home/test/www/bin/show_shmem
failed to copy /home/test/boinc/sched/single_job_assimilator to /home/test/www/bin/single_job_assimilator
failed to copy /home/test/boinc/sched/size_regulator to /home/test/www/bin/size_regulator
failed to copy /home/test/boinc/sched/transitioner to /home/test/www/bin/transitioner
failed to copy /home/test/boinc/sched/update_stats to /home/test/www/bin/update_stats
failed to copy /home/test/boinc/vda/vda to /home/test/www/bin/vda
failed to copy /home/test/boinc/vda/vdad to /home/test/www/bin/vdad
failed to copy ../tools/cancel_jobs to /home/test/www/bin/cancel_jobs
failed to copy ../tools/create_work to /home/test/www/bin/create_work
failed to copy ../tools/dir_hier_move to /home/test/www/bin/dir_hier_move
failed to copy ../tools/dir_hier_path to /home/test/www/bin/dir_hier_path
failed to copy ../tools/sign_executable to /home/test/www/bin/sign_executable
Setting up database
/home/test/boinc/py/Boinc/database.py:276: Warning: Can't drop database 'perft'; database doesn't exist
cursor.execute("drop database if exists %s"%config.db_name)
Writing config files
Linking CGI programs
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/sqlite.so' - /usr/lib/php5/20090626/sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/sqlite.so' - /usr/lib/php5/20090626/sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0
update_translations finished
Done installing default daemons.
Done creating project. Please view
/home/test/www/perft.readme
for important additional instructions.
g++ -o crypt_prog crypt_prog.cpp -I.. libboinc_crypt.a libboinc.a -lssl -lcrypto
g++ -o crypt_prog crypt_prog.cpp -I.. -lboinc_crypt -lboinc -lssl -lcrypto
test@x:~/boinc/lib$ g++ -o crypt_prog crypt_prog.cpp -I.. libboinc_crypt.a libboinc.a -lssl -lcrypto
g++: error: libboinc_crypt.a: No such file or directory
g++ -o crypt_prog crypt_prog.cpp -I.. -lboinc_crypt -lboinc -lssl -lcrypto
/usr/bin/ld: cannot find -lboinc_crypt
/usr/bin/ld: cannot find -lboinc
test@x:~/boinc/lib$ g++ -o crypt_prog -I.. -lssl -lcrypto crypt_prog.cpp libboinc.a libboinc_crypt_la-crypt.o
/tmp/ccmfiCbh.o: In function `main':
crypt_prog.cpp:(.text+0x1bd): undefined reference to `RSA_generate_key'
crypt_prog.cpp:(.text+0xc6f): undefined reference to `OPENSSL_add_all_algorithms_noconf'
crypt_prog.cpp:(.text+0xc74): undefined reference to `ERR_load_crypto_strings'
crypt_prog.cpp:(.text+0xc79): undefined reference to `ENGINE_load_builtin_engines'
crypt_prog.cpp:(.text+0xc97): undefined reference to `BIO_new_fp'
crypt_prog.cpp:(.text+0xca3): undefined reference to `BIO_s_file'
crypt_prog.cpp:(.text+0xcab): undefined reference to `BIO_new'
crypt_prog.cpp:(.text+0xcdc): undefined reference to `BIO_ctrl'
crypt_prog.cpp:(.text+0xd18): undefined reference to `RSA_new'
crypt_prog.cpp:(.text+0xdfe): undefined reference to `PEM_write_RSAPrivateKey'
crypt_prog.cpp:(.text+0xedd): undefined reference to `PEM_write_RSA_PUBKEY'
crypt_prog.cpp:(.text+0xefb): undefined reference to `ERR_print_errors'
..........................................
test@x:~/boinc/lib$ g++ -O2 -I.. -o crypt_prog crypt_prog.cpp
crypt_prog.cpp: In function 'unsigned int random_int()':
crypt_prog.cpp:111:31: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
/tmp/ccIBj1hJ.o: In function `main':
crypt_prog.cpp:(.text.startup+0x8d): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0xc9): undefined reference to `sign_file(char const*, R_RSA_PRIVATE_KEY&, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0xdd): undefined reference to `print_hex_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x155): undefined reference to `RSA_generate_key'
crypt_prog.cpp:(.text.startup+0x16f): undefined reference to `openssl_to_keys(rsa_st*, int, R_RSA_PRIVATE_KEY&, R_RSA_PUBLIC_KEY&)'
crypt_prog.cpp:(.text.startup+0x1b8): undefined reference to `print_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x1cd): undefined reference to `print_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x233): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x274): undefined reference to `scan_hex_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x295): undefined reference to `md5_file(char const*, char*, double&)'
crypt_prog.cpp:(.text.startup+0x2c2): undefined reference to `check_file_signature(char const*, R_RSA_PUBLIC_KEY&, DATA_BLOCK&, bool&)'
crypt_prog.cpp:(.text.startup+0x31e): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x33f): undefined reference to `generate_signature(char*, char*, R_RSA_PRIVATE_KEY&)'
crypt_prog.cpp:(.text.startup+0x39d): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x3d1): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x43e): undefined reference to `encrypt_private(R_RSA_PRIVATE_KEY&, DATA_BLOCK&, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x483): undefined reference to `decrypt_public(R_RSA_PUBLIC_KEY&, DATA_BLOCK&, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x4fa): undefined reference to `scan_hex_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x51b): undefined reference to `check_validity(char const*, char const*, unsigned char*, char*)'
crypt_prog.cpp:(.text.startup+0x5e6): undefined reference to `scan_raw_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x60f): undefined reference to `print_hex_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x6a6): undefined reference to `OPENSSL_add_all_algorithms_noconf'
crypt_prog.cpp:(.text.startup+0x6b1): undefined reference to `ERR_load_crypto_strings'
crypt_prog.cpp:(.text.startup+0x6b6): undefined reference to `ENGINE_load_builtin_engines'
crypt_prog.cpp:(.text.startup+0x6c4): undefined reference to `BIO_new_fp'
crypt_prog.cpp:(.text.startup+0x6cc): undefined reference to `BIO_s_file'
crypt_prog.cpp:(.text.startup+0x6d4): undefined reference to `BIO_new'
crypt_prog.cpp:(.text.startup+0x6ea): undefined reference to `BIO_ctrl'
crypt_prog.cpp:(.text.startup+0x701): undefined reference to `RSA_new'
crypt_prog.cpp:(.text.startup+0x73c): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x756): undefined reference to `private_to_openssl(R_RSA_PRIVATE_KEY&, rsa_st*)'
crypt_prog.cpp:(.text.startup+0x786): undefined reference to `PEM_write_RSAPrivateKey'
crypt_prog.cpp:(.text.startup+0x7d1): undefined reference to `scan_hex_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x7fa): undefined reference to `print_raw_data(_IO_FILE*, DATA_BLOCK&)'
crypt_prog.cpp:(.text.startup+0x849): undefined reference to `PEM_read_RSAPrivateKey'
crypt_prog.cpp:(.text.startup+0x86d): undefined reference to `openssl_to_private(rsa_st*, R_RSA_PRIVATE_KEY*)'
crypt_prog.cpp:(.text.startup+0x899): undefined reference to `print_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x8d2): undefined reference to `scan_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x904): undefined reference to `public_to_openssl(R_RSA_PUBLIC_KEY&, rsa_st*)'
crypt_prog.cpp:(.text.startup+0x90f): undefined reference to `PEM_write_RSA_PUBKEY'
crypt_prog.cpp:(.text.startup+0x91f): undefined reference to `ERR_print_errors'
crypt_prog.cpp:(.text.startup+0x93f): undefined reference to `PEM_read_RSA_PUBKEY'
crypt_prog.cpp:(.text.startup+0x970): undefined reference to `openssl_to_keys(rsa_st*, int, R_RSA_PRIVATE_KEY&, R_RSA_PUBLIC_KEY&)'
crypt_prog.cpp:(.text.startup+0x980): undefined reference to `public_to_openssl(R_RSA_PUBLIC_KEY&, rsa_st*)'
crypt_prog.cpp:(.text.startup+0x9a8): undefined reference to `print_key_hex(_IO_FILE*, KEY*, int)'
crypt_prog.cpp:(.text.startup+0x9e9): undefined reference to `ERR_print_errors'
crypt_prog.cpp:(.text.startup+0xa41): undefined reference to `ERR_print_errors'
collect2: ld returned 1 exit status
git clone git://boinc.berkeley.edu/boinc-v2.git boinc
FATAL ERROR: Command failed: /home/test/boinc/lib/crypt_prog -genkey 1024 /home/test/www/keys/upload_private /home/test/www/keys/upload_public >/dev/null
Cytat: Dario666 w 29 Czerwiec 2013, 19:58Wszystko zależy od tego, jak się ustawi taktowanie zegara. Jeśli się zmniejszy dwa razy, to
Kiedyś jak testowałem OC na Phenom II x4 i wyciągnąłem z niego 4,6 GHz to miernik energii pokazywał 310 W. Grzała była niesamowita. Na std. zegarze i obniżonym napięciu max. pobór całego komputera (z integrą) wynosił 95 W. Z tego co piszesz to masz PhII x6 i jakoś nie chce mi się wierzyć, że wydajność spadła ci tylko o 10-15%. U mnie spadła o 25-30%
Cytat: krzyszp w 29 Czerwiec 2013, 14:40Super, dzięki. Widzę już, że jest dobrze :)
Robi się...
Podać zawartość test1.txt i test2.txt?
Cytat: mariotti w 28 Czerwiec 2013, 11:08
Wieczorem dam lepsze i ważniejsze testy niż tamten skrypt, ino niech się zakończą
na moim kompie :)
Cytat: krzyszp w 28 Czerwiec 2013, 09:23Wieczorem dam lepsze i ważniejsze testy niż tamten skrypt, ino niech się zakończą
Później odpalę skrypt, teraz muszę lecieć do pracy.
Cytat: krzyszp w 28 Czerwiec 2013, 09:23Ciekawe jakie są możliwości zmniejszania częstotliwości zegara w i7. Mój phenom na
Natomiast co do zestawu, to też mnie dziwi, ale mam cały czas podczepiony miernik i ni cholery nie chce pokazać pow. 105W :)
Faktem jest, że POEM nie obciąża sprzętu na 100%, a Ati 7770 nie należą do zbyt prądożernych.
Wg Core Temp proc podczas pracy bierze ok. 35W.
Cytat: krzyszp w 27 Czerwiec 2013, 15:58Zadanie jest ciężkie, ale powinien wykonać. Jeśli masz ochotę, to zobacz jeszcze taki skrypt:
1. U mnie program się nie wysypał do dzisiaj rana, kiedy go wyłączyłem, nadal był na etapie "2x500k@.
g++ -O3 -omit-frame-pointers -march=native -o test_csuniq main.cpp
mkdir -p tmp
RAM=1000000
rows=(100000, 200000, 500000, 1000000, 2000000, 5000000, 10000000, 20000000, 50000000, 100000000, 200000000)
for i in "${rows[@]}"
do
echo "rows $i"
time ./test_csuniq len_min=500 len_max=1000 rows=$i uniq=5000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
done
rows 100000,
5000
real 0m1.496s
user 0m1.472s
sys 0m0.236s
rows 200000,
5000
real 0m3.130s
user 0m3.072s
sys 0m0.472s
rows 500000,
5000
real 0m8.593s
user 0m8.457s
sys 0m1.168s
rows 1000000,
5000
real 0m18.846s
user 0m18.029s
sys 0m2.904s
rows 2000000,
5000
real 1m3.013s
user 0m38.874s
sys 0m7.000s
rows 5000000,
5000
real 4m27.217s
user 1m40.978s
sys 0m17.437s
rows 10000000,
5000
real 9m25.056s
user 3m25.029s
sys 0m35.310s
rows 20000000,
5000
real 19m2.746s
user 6m50.070s
sys 1m6.800s
Cytat: krzyszp w 27 Czerwiec 2013, 15:58To test perft by też nie działał. On bardzo intensywnie korzysta z RAM.
2. Obadaj jednak RAM'y, często są przyczyną "dziwnych" problemów.
Cytat: krzyszp w 27 Czerwiec 2013, 15:58O jaki fajny zestaw! Tyle przeglądałem procesory, a jakoś nie zauważyłem, że ten procesor
3. Co do kompa, polecam składniki jakie sam zamontowałem:
Mobo - Gigabyte Z77-D3H
CPU Xeon 1230v2
Zestaw powyżej dopalony 2 x 7770, 5 x HDD,1 x SDD, 2 x 4GB RAM "pożera" 105W w stresie (stres = 8WU POEM na raz). Do zestawy chcę dołożyć jeszcze 8GB RAM, bo mi niestety lubi zabraknąć :)
Cytat: Troll81 w 27 Czerwiec 2013, 11:35Niezręcznie się czuję. Z jednej strony głupio mi odrzucić pomoc, a z drugiej podejrzewam, że
podaj to pogłówkujemy..... może jakiś bibliotek brak? może któraś konkretna apka wykrzacza wyniki.... z kryształowej kuli nie umiem wróżyć....
Cytat: Troll81 w 27 Czerwiec 2013, 08:16Ale jak wytłumaczyć fakt, że inne programy działają, a zliczanie wierszy żadną z
podaj dokładną specyfikację swego kompa oraz laptopa. Może coś nie kuku ze sprzętem?
Cytat: krzyszp w 27 Czerwiec 2013, 01:00Sam nie jestem pewny czy jest sens. Programik jest prosty. Na kilku
U mnie na razie wynik identyczny, ale niech mieli (jeśli ma to sens).
Cytat: sknd w 27 Czerwiec 2013, 00:19Dzięki serdeczne :)
po dwudziestu kilku minutach zrobiło mi się szkoda dysku;)
Cytat: sknd w 26 Czerwiec 2013, 23:30Program można zabić po wyczerpaniu cierpliwości, np. po 5-15 minutach :)Cytat: krzyszp w 26 Czerwiec 2013, 23:12o właśnie, też mnie interesuje odpowiedź, bo nie wiem czy jest sens to dzisiaj zapuszczać
Koniec off-topa... Jak długo program powinien się wykonywać?
Cytat: krzyszp w 26 Czerwiec 2013, 23:12Wierzę, ale dlaczego reszta programów działa?
Spokojnie, nie takie rzeczy widzialem...
Wierz mi, że kompilatory potrafią cuda narobić, a zwłaszcza w sytuacji, gdy nieświadomie, podczas ich instalacji np. włączysz optymalizację dla którejś wersji sse...
Cytat: krzyszp w 26 Czerwiec 2013, 23:12Dwadzieścia pierwszych testów powinno w kilka minut wyskoczyć. Pozostałe mogą trwać bardzo
Osobny temat (rzeka) to .net w tym względzie...
Koniec off-topa... Jak długo program powinien się wykonywać?
Cytat: krzyszp w 26 Czerwiec 2013, 22:52Dziękuję wszystkim. To jest prosty program, ale wpadam w paranoję, że narobiłem
Robi się, aktualnie mam drugi raz 500k na ekranie.
./test_csuniq len_min=5 len_max=20 rows=30 uniq=5 seed=0
./test_csuniq len_min=7 len_max=70 rows=200000 uniq=50000 seed=0 | sort | uniq | wc -l
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <ctime>
typedef int ityp;
typedef const int cityp;
typedef unsigned int utyp;
typedef const utyp cutyp;
static void help() {
printf("using:test_csuniq len_min=uint len_max=uint rows=uint uniq=uint seed=uint\n");
abort();
}
struct Args {
utyp len_min;
utyp len_max;
utyp rows;
utyp uniq;
utyp seed;
};
static void parseArgs(int argc, char *argv[], Args &args) {
memset( &args , 0 , sizeof(args) );
args.seed = 0;
for( int i=1 ; i<argc ; i++ ) {
if( strncmp( "len_min=" , argv[i] , 8 ) == 0 ) {args.len_min = (utyp)atol( argv[i]+8 ); }
if( strncmp( "len_max=" , argv[i] , 8 ) == 0 ) {args.len_max = (utyp)atol( argv[i]+8 ); }
if( strncmp( "rows=" , argv[i] , 5 ) == 0 ) {args.rows = (utyp)atol( argv[i]+5 ); }
if( strncmp( "uniq=" , argv[i] , 5 ) == 0 ) {args.uniq = (utyp)atol( argv[i]+5 ); }
if( strncmp( "seed=" , argv[i] , 5 ) == 0 ) {args.seed = (utyp)atol( argv[i]+5 ); }
}
if( args.len_max < args.len_min ) help();
if( args.rows < args.uniq ) help();
if( args.len_min == 0 ) help();
if( args.len_max == 0 ) help();
if( args.rows == 0 ) help();
if( args.uniq == 0 ) help();
if( args.seed == 0 ) args.seed = time(NULL);
}
char rndChar() {
const static char rndc[] = "-=!@#$%^&*()_+qqweertyuiop[[]]]\\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:\"zxcvbnm,./ZXCVBNM<>?`~";
return rndc[ rand() % (sizeof(rndc)-1) ];
}
void rndString( cutyp len_min, cutyp len_max , char string[] , utyp nr ) {
utyp len = rand() % ( len_max - len_min + 1 ) + len_min;
string[len] = 0;
while( len && nr ) {
string[--len] = '0' + (nr%10);
nr /= 10;
}
while( len )
string[--len] = rndChar();
}
int main(int argc, char *argv[]) {
Args args;
parseArgs( argc , argv , args );
srand(args.seed);
char **strings = new char*[args.uniq];
utyp *counts = new utyp[args.uniq];
char *string = new char[args.len_max+1];
for( utyp i=0 ; i<args.uniq ; i++ ) {
rndString( args.len_min , args.len_max , string , i+1 );
strings[i] = strdup( string );
counts[i] = 1;
}
utyp r = rand();
for( utyp i=0 ; i<args.rows-args.uniq ; i++ ) {
r = (r + rand())%args.uniq;
counts[r] ++ ;
}
{
utyp uniq = args.uniq;
while( uniq ) {
r = (r + rand()) % uniq;
printf("%s\n",strings[r]);
if( --counts[r] == 0 ) {
free( strings[r] );
strings[r] = strings[uniq-1];
counts[r] = counts[uniq-1];
uniq--;
}
}
}
delete[] string;
delete[] counts;
delete[] strings;
return 0;
}
g++ -O3 -omit-frame-pointers -march=native -o test_csuniq main.cpp
mkdir -p tmp
RAM=$1
./test_csuniq len_min=10 len_max=20 rows=20000 uniq=5000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=20000 uniq=5000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=20000 uniq=5000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=20000 uniq=5000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=20000 uniq=5000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=20000 uniq=5000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=200000 uniq=50000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=200000 uniq=50000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=200000 uniq=50000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=200000 uniq=50000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=200000 uniq=50000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=200000 uniq=50000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=2000000 uniq=500000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=2000000 uniq=500000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=2000000 uniq=500000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=2000000 uniq=500000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=2000000 uniq=500000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=2000000 uniq=500000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=20000000 uniq=5000000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=20000000 uniq=5000000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=20000000 uniq=5000000 seed=0 | sort -T'./tmp' -S$RAM | uniq | wc -l
./test_csuniq len_min=10 len_max=20 rows=20000000 uniq=5000000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=50 len_max=100 rows=20000000 uniq=5000000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./test_csuniq len_min=500 len_max=1000 rows=20000000 uniq=5000000 seed=0 | sort -T'./tmp' -S$RAM --compress-program=gzip | uniq | wc -l
./go.sh 3000000
Cytat: krzyszp w 24 Czerwiec 2013, 23:52Pogrzebałem jeszcze trochę w sieci.CytatCzyżby powyższe spostrzeżenie prowadziło do wniosku, że w materiałach jakie mam, ktośCiężko ocenić, nie znając materiałów na których się opierasz (być może informacja o tym jest w tekście)...
robiący badania uznał, że w takich pozycjach należy usunąć informację o przyzwoleniach, bowiem
i tak i tak nie można wykonać roszady, a ponadto takie pozycje pojawiają się raptem dwie wśród 12milionów
Cytat: Rysiu w 20 Czerwiec 2013, 17:31Nie jestem ekspertem od dysków SSD, zwłaszcza od tych najdroższych. Takie mam
Dyski SSD raczej nie nadają się do serwerów baz danych. W profesjonalnych sprzętach stosuje się SAS i SCSI.
Dysk SSD przy takiej bazie o której tutaj mówimy najprawdopodobniej za długo by nie przetrwał (przecież tutaj mamy maksymalny io wait). Takich twardzieli właśnie z takich względów nie ustawia się na swap - przy normalnej eksploatacji komputera po pół roku sprzęt idzie na szrot. Pół roku przy normalnej eksploatacji to nie wiem ile by wyszło dla maksymalnego io wait - miesiąc?
Może i SSD są i coraz lepsze ale tutaj potrzeba jakiejś profesjonalnej macierzy. Ktoś oszacował ile ta baza będzie zajmowała? Jeżeli jest to rząd wielkości mierzony w TB to nie wiem czy warto kombinować, bo może okazać się, że zapytania będą szły zbyt wolno aby
zgrać to w jakiś realny skrypt. Zależy co tam będzie robione.
CytatJeszcze trochę powalczę na swoim sprzęcie, a nóż się uda. Jak się nie uda, to
Jestem sceptycznie nastawiony ale myślę, że mogę pomóc ale musisz mariotti oszacować jakiego sprzętu potrzebujesz (jaka pojemność, jaka prędkość odczytu/zapisu) i na jak długo.
Cytat: Karlik w 20 Czerwiec 2013, 17:09W bazach danych są drzewa b-tree i nie zadziałało zbyt dobrze. Drzewa AVL, Red-Black, itd
Właśnie nie jest to takie pewne. Ogólnie dużo zależałoby od samej konstrukcji drzewa (kolejności napływających danych). Węzły drzewa często wykorzystywane (blisko korzenia) byłyby cały czas w pamięci operacyjnej - prawdopodobnie w ogóle nie byłyby zrzucane na swapa. Pytanie tylko jak mocno rozrzucone są dane napływające, jeśli byłyby długie sekwencje podobnych (w sensie wspólnej ścieżki w drzewie) danych to mogłoby być całkiem nieźle.
Cytat: Karlik w 20 Czerwiec 2013, 14:06Odpisałem dokładnie na powyższe, ale znowu wcięło tekst. W skrócie: zadziała wolno. Każdy dostęp
Jak mamy dość pamięci dyskowej to już lepiej by było zrobić dużego swapa i wszystko wrzucać do jakiegoś drzewka (może być samodzielnie napisane albo set STLowy). W sumie to aż sam jestem ciekawy jak takie rozwiązanie by sobie poradziło :D