donard | PCIe Peer-2-Peer kernel patch | Runtime Evironment library
kandi X-RAY | donard Summary
kandi X-RAY | donard Summary
Donard: A PCIe Peer-2-Peer Library that builds on top of NVM Express.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of donard
donard Key Features
donard Examples and Code Snippets
Community Discussions
Trending Discussions on Server
QUESTION
When i set my username and password directly in a nodemailer server, it works as expected
...ANSWER
Answered 2021-Dec-31 at 07:29The syntax in your .env
file is incorrect. Use equals =
signs rather than colon :
.
QUESTION
I am a windows user. I installed Windows Subsystem for Linux [wsl2] and then installed docker using it. Then I tried to get started with OpenSearch so I followed the documentation in the given link https://opensearch.org/downloads.html and run docker-compose up, In the shell, I am getting an error message like
opensearch-dashboards | {"type":"log","@timestamp":"2022-01-18T16:31:18Z","tags":["error","opensearch","data"],"pid":1,"message":"[ConnectionError]: getaddrinfo EAI_AGAIN opensearch-node1 opensearch-node1:9200"}
In the port http://localhost:5601/ I am getting messages like
OpenSearch Dashboards server is not ready yet
I also changed resources preference for memory to 5GB in docker-desktop but it still doesn't work. Can somebody help me with this?
...ANSWER
Answered 2022-Feb-13 at 22:00I had the same error message when opening "http://localhost:5601/" while testing opensearch and opensearch dasboard locally using Docker in Windows 10:
- OpenSearch Dashboards server is not ready yet
- opensearch-dashboards | {"type":"log","@timestamp":"2022-02-10T12:29:35Z","tags":["error","opensearch","data"],"pid":1,"message":"[ConnectionError]: getaddrinfo EAI_AGAIN opensearch-node1 opensearch-node1:9200"}
But when looking into the log I also found this other error:
- opensearch-node1 | [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
The 3 part solution working for me was:
Part 1
On each opensearch nodes update the file:
QUESTION
I'm at school and in on Campus housing which means I don't have access to the router to get the admin password to allow me to port-forward my website for my senior Capstone. I would like to know how to host a server that I can insert a MySql database, as well as my sight files from my own machine; how would I even go about getting around this without port forwarding?
There is an "Open Windows Firewall Ports for network access" embedded within MySQL Server download prosses theoretically if clicked would it allow me to embed a Website within MySQL Server and host it?? or would that just allow my database to be assessable threw my vulnerable network.
...ANSWER
Answered 2022-Jan-27 at 22:57One solution would be to use reverse proxy services like https://pagekite.net/
QUESTION
I am working on an Online E-Learning website with Laravel 5.8 and I need to run a query for updating exam results of users that have been participated in the exam.
Here is the Controller method for updating exam scores:
...ANSWER
Answered 2022-Jan-21 at 09:59There is a chunk method in laravel for queuing large data. You can chunk the data and try importing datas Here is the link for reference: here
I hope this link will help you. Here is what documentation says about it.
If you need to work with thousands of database records, consider using the chunk method provided by the DB facade. This method retrieves a small chunk of results at a time and feeds each chunk into a closure for processing. For example, let's retrieve the entire users table in chunks of 100 records at a time:
QUESTION
I am developing an app to learn serverside. I have created a node js server and an android app.
WorkFlow⚙️(What I want to achieve):-
My local IP of pc: 192.168.0.120
On the port I am listening:8443
The whole thing working fine in localhost: as I am sending POST
req. on 192.168.0.120:8443
on clicking the button on my app.
But this will only work if I am connected to my wifi not when connected to the SIM network or somewhere remote location.
So my question is where to send a request by clicking the button in my app (definitely can't send on 192.168.0.120:8443 as I am won't be connected to wifi)?
server.js file
...ANSWER
Answered 2022-Jan-14 at 08:27This is more of a networking question than a node question. You'll have to be able to configure your gateway router / firewall to make it work. In addition, your ISP must permit inbound connections on the ports your listening to. Fortunately, this likely isn't going to be an issue, but just something to be aware of.
First, you'll need to configure your router to do port forwarding. Port forwarding will translate connections to a specific port on your router and then forward that request to the same port on a specific internal IP address on your local network. If your router has a firewall, you may also have to create a rule to let traffic on that port through. Most home routers won't need to do this.
Once your gateway router is set up, you'll need to find out the external IP address of your router. To find the external IP address you can go to a website such as https://whatismyipaddress.com/. Give this IP address along with the port to whoever you want to connect to your server.
Most ISPs assign IP addresses dynamically, so you'll have to check to see if your IP address has changed from time to time.
Once this is all set up and ports are forwarded to your local dev machine, you can launch your Node server and start seeing requests.
Be aware there are some risks with exposing your machine to the internet. Just be sure that you don't trust input to your server and maybe turn off port forwarding when you don't need it.
If you're not able to do any router configuration, look into ngrok. This will get though almost any NAT router or firewall. Be aware that the free version is limited to 40 connections per minute.
QUESTION
I want to call the index.html from the folder /var/www/fileUpload/html. The index.html file exists in that folder.
The / router works. the uploadFiles route as well. But when I open the upload route I get a 404 error.
...ANSWER
Answered 2022-Jan-12 at 09:01That should be alias /var/www/fileUpload/html;
otherwise Nginx is looking for the file in /var/www/fileUpload/html/upload/index.html
. See this document for details.
For example:
QUESTION
I am trying to send an HTTP request using Vapor, to verify a recaptcha
Google's Captcha api is defined as follows:
URL: https://www.google.com/recaptcha/api/siteverify METHOD: POST
POST Parameter Description secret Required. The shared key between your site and reCAPTCHA. response Required. The user response token provided by the reCAPTCHA client-side integration on your site. remoteip Optional. The user's IP address.So I need to make a POST request with 2 parameters (secret and response).
In Swift i have:
...ANSWER
Answered 2022-Jan-07 at 10:22As Nick stated: the problem was that instead of .formData
, I needed to use .urlEncodedForm
.
QUESTION
Basically i have a bot in my django webapp when given your social media credentials it manages your one of social media accounts i was able to succesfully run it while the client is still on website and as you would expect it stopped when the client closed the website. Is there any way to store the credentials and then keep the bot running even after user leaves website and so that bot still manages the account? The bot is mostly making few requests and API calls. Thank You
...ANSWER
Answered 2021-Dec-24 at 18:19Lots of options.
- Celery. A library for organizing a task queue. Production-ready, widely supported, has a great community.
- Dramatiq possibly with periodic.
Dramatiq
is also a library for organizing a task queue,periodic
is a task scheduler. Less popular, more lightweight, and quite stable. Entry threshold is lesser thancelery
, as for me. - Supervisor. Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. One command to install, very easy to configure, quite suitable for small projects (it's harder to use it when the amount of background routines becomes 10+).
- Tmux. It is a terminal multiplexer with the possibility to remain a process running after disconnection of it. Could be useful when you're running something one time or for tests.
- Django Background Task. It is a databased-backed work queue for Django, loosely based around Ruby’s DelayedJob library. Unmaintained and incompatible with Django versions newer than 2.2.
QUESTION
I have one of the following API URLs. At the end of the day for my use case, it doesn't matter which of these URLs I would have to use, but currently neither work.
...ANSWER
Answered 2021-Nov-22 at 17:29import * as url from "url";
const params = url.parse(req.url as string, true).query;
const {id} = params
QUESTION
I have a system that has a fastAPI server, a python client implemented on Raspberry and Javascript clients for the user interface. Data is sent from python client to server then forwarded to Js client and vice versa. I established the connection between the server and each type of client but when sending from a client-side to the server, it just send back to that client and the rest ones receive nothing. What is the proper way to deal with this problem? Hope for your help. Thanks.
...ANSWER
Answered 2021-Dec-20 at 01:50The problem with websocket is it doesn't support broadcasting. You can store somewhere list of connected clients and iterate over them to send a message
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install donard
Start from your Linux distro of choice on a bare-metal machine. You could try running this inside a VM but since we need to access bare-metal I am not sure why you would. We used Debian Wheezy as a start point but we have made many mods from there.
Install the packages required to install a updated Linux kernel. At a minimum you are going to need the following packages. kernel-package, libncurses5-dev, fakeroot, bzip2 and bc.
Clone the Donard version of the linux kernel from the relevant GitHub repo. i.e. git clone https://github.com/sbates130272/linux-donard.git. For a view of how this kernel is constructed see linux-donard.pdf.
Build and install this version of the linux kernel. cd linux-donard make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-docker-donard kernel_image kernel_headers cd .. dpkg -i linux-image-3.16.3-docker-donard+_3.16.3-docker-donard+-10.00.Custom_amd64.deb dpkg -i linux-headers-3.16.3-docker-donard+_3.16.3-docker-donard+-10.00.Custom_amd64.deb
Now pull the rest of the donard project code: git clone https://github.com/sbates130272/donard.git
Install the Nvidia driver. We used the instructions at https://wiki.debian.org/NvidiaGraphicsDrivers. Note that several people have has issues with this step and tieing the Nvidia code into the nvme_donard module. So we outline a more complete procedure in the next section.
Build ubuntu 14.04.3 server on the system. apt-get install git kernel-package, libncurses5-dev fakerootbzip2 bc. apt-get update followed by apt–get upgrade. cd to linux-donard directory. fakeroot make-kpkg —initrd --append-to-version=-docker-donard kernel_image kernel_headers (Accept defaults from pmem and DAX). (As root) dpkg -I donard.deb. uname -r to verify kernel loaded. /lib/modules/3.19.1-docker-donard+/build and /lib/modules/3.19.1-docker-donard+/source should point to /usr/src/linux-headers-3.19.1-docker-donard+. Load latest cuda package from nvidia. Copy .deb file from https://developer.nvidia.com/cuda-downloads. Export PATH and library variables. Driver will be installed in /usr/src/nvidia-352-352.39 for cuda 7.5. cd to nvidia src directory. As root, not sudo. make module KERNDIR=/lib/modules/$kernelver IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=$kernel_source_dir LD=/usr/bin/ld.bfd. Verify Module.symvers is built in nvidia src directory. git clone —recursive https://github.com/sbates130272/donard.git. cd to donard/nvme_donard directory. Edit Makefile to point to correct nvidia src directory. Run make install as root. If module not visible then. Build and run tests. May have to make modules followed by make install. Execute ./waf , may have to ./waf install. apt-get install libfftw3-dev libmagickwand-dev. dd if=/dev/zero of=/temp/test1.dat bs=1K count=100K. ./nvme2gpu_read -b 128M -D /temp/test1.dat. ./nvme2gpu_read -b 128M /temp/test1.dat.
Build ubuntu 14.04.3 server on the system
apt-get install git kernel-package, libncurses5-dev fakerootbzip2 bc
git clone https://github.com/sbates130272/linux-donard.git.
apt-get update followed by apt–get upgrade
cd to linux-donard directory
make-kpkg clean
fakeroot make-kpkg —initrd --append-to-version=-docker-donard kernel_image kernel_headers (Accept defaults from pmem and DAX).
cd ..
(As root) dpkg -I donard.deb
Reboot
uname -r to verify kernel loaded
Check soft links
/lib/modules/3.19.1-docker-donard+/build and /lib/modules/3.19.1-docker-donard+/source should point to /usr/src/linux-headers-3.19.1-docker-donard+
Load latest cuda package from nvidia
As root
Copy .deb file from https://developer.nvidia.com/cuda-downloads
dpkg –I cuda*.deb
apt-get update
Apt-get install cuda
Export PATH and library variables
Driver will be installed in /usr/src/nvidia-352-352.39 for cuda 7.5
cd to nvidia src directory
As root, not sudo
kernelver=$(uname –r)
kernel_source_dir=/lib/modules/$kernelver/build
make module KERNDIR=/lib/modules/$kernelver IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=$kernel_source_dir LD=/usr/bin/ld.bfd
Verify Module.symvers is built in nvidia src directory
Build Donard components
cd to home
git clone —recursive https://github.com/sbates130272/donard.git
cd to donard/nvme_donard directory
Edit Makefile to point to correct nvidia src directory
Run make install as root
lsmod |grep nvme_donard
If module not visible then
modprobe nvme_donard
Build and run tests
May have to make modules followed by make install
cd donard/libargconfig
Execute ./waf , may have to ./waf install
cd to donard/libdonard
apt-get install libfftw3-dev libmagickwand-dev
./waf
modprobe donard_nv_pinbuf
mkdir /temp
mkfs.ext4 /dev/nvme0n1
mount /dev/nvme0n1 /temp
dd if=/dev/zero of=/temp/test1.dat bs=1K count=100K
cd donard/libdonard/build/speed
./nvme2gpu_read -b 128M -D /temp/test1.dat
./nvme2gpu_read -b 128M /temp/test1.dat
If all of this runs you should see the –D mode has WAY more page faults the without the –D (the non –D is p2p, with –D the transfer goes via DRAM). Depending on your system the non –D option may be faster too. This is nvme->gpu transfer. There is a similar executable in the same fodler to go the other way. You can use likwid-perfctr to get better memory and CPU measurements too.
cd /nvme_donard
make install (this loads the nvme_donard kernel module and blacklists the defult nvme one).
lsmod | grep nvme should return nvme_donard (and not nvme).
cd /libdonard
./waf
cd /libdonard/build/speed
dd if=/dev/zero of=/<nvme_drive>/test1.dat bs=1K count=100K (to create a test file, for now keep it at 128MB or less)
./nvme2gpu_read -b 128M -D /<nvme_drive>/test1.dat
./nvme2gpu_read -b 128M =/<nvme_drive>/test1.dat
A simple bash script resides in the perform folder. When run it checks for certain files on the path and then executes a client/server perftest test whilst tracking DRAM bandwidth on the server.
We have some code in here to test NVDIMMs and the IOMEM exposed in the PMC Flashtec NVRAM drive. You can also use it to test any memory region really. Anyway here are some steps for the NVDIMM...
git clone --recursive https://github.com/sbates130272/donard.git pulls the code.
cd donard/libargconfig
sudo ./waf install
cd ../..
cd donard/nvram_bench
./waf (builds the code, should be no errors).
Since our kernel has the PMEM+DAX patches we can setup the NVDIMM but adding the following line to /etc/modules: pmem pmem_start_gb=8 pmem_size_gb=8
The NVDIMM appears as a /dev/pmem<num> and we can mount it using the following in /etc/fstab: /dev/pmem<num> /mnt/nvdimm ext4 dax,noatime 0 0
You can now run the nvdimm.sh script on the nvdimm.
For these tests you will need two machines (a server and a client) and the donard kernel and OFED drivers on both machines. Each machine will also need a OFED compliant NIC installed. We've done some testing on both the Chelsio T540-CR iWARP card and the Mellanox MT27600 IB card.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page