Progress Report # 1: Week 4
We gained a full understanding of bitcoin mining. In addition, we set up our environment with Python and Xilinx ISE Development Suite. Once, we had the appropriate programs, we compiled the existing code from Alex Standridge plus code we found online in the bitcoin forums. We were able to generate a bitstream file for the ATLYS board to read. One complication we came across was that we had no way of generating output, so we had to acquire another cable that connected to the board.
Our next step is to run the miner.py script that came with the code from Alex.
Our next step is to run the miner.py script that came with the code from Alex.
Progress Report # 2: Week 5
We configured the Bitcoin mining implementation so that it would program the ATLYS Spartan-6 board and properly execute SHA256 hashing, the necessary process for Bitcoin mining. It was then necessary to set up an environment that could accommodate accessing the Bitcoin network and mine on it. First, a Bitcoin wallet was set up in order to receive Bitcoins. The system was initially set up for solo mining.
However, given that there would be intense competition with miners with extremely sophisticated hardware mining systems and mining pools, which include many miners collaborating together to solve hashes. Thus, the decision was made to join a mining pool in order to receive some reward for collaborating with other miners. Connecting the ATLYS board to the computer via UART port, we ran a mining script that accessed the mining pool and Bitcoin network, and mined away! So far, no partial Bitcoins have been rewarded, but the system is fully set up and functional at this time.
However, given that there would be intense competition with miners with extremely sophisticated hardware mining systems and mining pools, which include many miners collaborating together to solve hashes. Thus, the decision was made to join a mining pool in order to receive some reward for collaborating with other miners. Connecting the ATLYS board to the computer via UART port, we ran a mining script that accessed the mining pool and Bitcoin network, and mined away! So far, no partial Bitcoins have been rewarded, but the system is fully set up and functional at this time.
Progress Report # 3: Week 6
We found the ATLYS Spartan-6 board to be astoundingly power-efficient, running at only 1.7 Watts. However, the board has two major disadvantages. For one, it can only generate 1.2 million SHA256 hashes per second. In terms of Bitcoin mining, this is incredibly slow. The other disadvantage is that the FPGA must be connected to a computer via UART connection in order to accommodate all the necessary interfacing and online communications necessary for mining. As a result, the total power consumption is significantly higher, as it includes that of the computer as well. Initial tests with an Nvidia GTX 460 1 GB GPU turned out a 60+ MH/s (Megahashes per second) device. Its issue is higher power, running at 160 Watts. More testing and analysis will be done on GPU and CPU Bitcoin mining.
Exploration has gone into optimizing the hashing code for the Spartan-6 FPGA in the hopes of increasing its hashing rate, but so far, this has not proven fruitful.
At our disposal is the Zedboard, a board that can run autonomously as it can run its own operating system. Our current task with this has been installing the Xillinux operating system and other configurations that can facilitate loading mining software that can be run on its dual-core ARM processor. This solves the problem of depending on a computer being on (and thus wasting power) to be able to conduct Bitcoin mining. Power consumption will be measured once the board is up and running, but it should certainly generate a faster hash rate than the Spartan-6 board.
Exploration has gone into optimizing the hashing code for the Spartan-6 FPGA in the hopes of increasing its hashing rate, but so far, this has not proven fruitful.
At our disposal is the Zedboard, a board that can run autonomously as it can run its own operating system. Our current task with this has been installing the Xillinux operating system and other configurations that can facilitate loading mining software that can be run on its dual-core ARM processor. This solves the problem of depending on a computer being on (and thus wasting power) to be able to conduct Bitcoin mining. Power consumption will be measured once the board is up and running, but it should certainly generate a faster hash rate than the Spartan-6 board.
Progress Report #4: Week 7
Gabe has been fiddling with the Bitcoin mining algorithm to optimize it, but has had little success as the code is already well-designed and prioritized for speed, as it seems. Gabe continues to attempt to significantly optimize code for speed while exploring other avenues for Bitcoin mining, such as the use of his powerful GPU and hexacore processor. As previously stated, the GPU is over 50 times more powerful than the Spartan-6 board, and since it is an internal component, it is always running when the computer is turned on. Meanwhile, despite the low power consumption of the Spartan-6 FPGA, it requires being connected to a computer to be able to communicate with the Bitcoin network.
In the meantime, Gabe is also uncovering the inner workings and functionality of the Zedboard in order to assist Parry and Reeza in their current endeavors, which are rather prodigious as a Zedboard is more complex to work with than a simple FPGA like the Spartan-6.
While Gabe has been wrapping up the ATLYS board, Parry and Reeza have successfully installed Xillinux onto the Zedboard. Originally, Parry had ISE Design Suite 14.5, while Reeza had ISE Design Suite 13.1. After the first attempt to install Xilinux onto the Zedboard, progress was stopped right after complication with regenerating the cores for the bitstream on the ISE design suite. This was the first step and after errors occurred with the 14.5 version, there was an attempt with the 13.1 version. The same errors occurred. The installation instructions are written specifically for version 14.2, and after installing that version, there were no more problems and the software is now on the Zedboard.
With the group now being able to move on to the Zedboard, a milestone was added for getting a bitcoin mining program onto the processor that is running Xillinux. We should be able to send output to a terminal. This is expected to be finished by June 7th.
Next week we will begin finding a miner program to put onto the board.
In the meantime, Gabe is also uncovering the inner workings and functionality of the Zedboard in order to assist Parry and Reeza in their current endeavors, which are rather prodigious as a Zedboard is more complex to work with than a simple FPGA like the Spartan-6.
While Gabe has been wrapping up the ATLYS board, Parry and Reeza have successfully installed Xillinux onto the Zedboard. Originally, Parry had ISE Design Suite 14.5, while Reeza had ISE Design Suite 13.1. After the first attempt to install Xilinux onto the Zedboard, progress was stopped right after complication with regenerating the cores for the bitstream on the ISE design suite. This was the first step and after errors occurred with the 14.5 version, there was an attempt with the 13.1 version. The same errors occurred. The installation instructions are written specifically for version 14.2, and after installing that version, there were no more problems and the software is now on the Zedboard.
With the group now being able to move on to the Zedboard, a milestone was added for getting a bitcoin mining program onto the processor that is running Xillinux. We should be able to send output to a terminal. This is expected to be finished by June 7th.
Next week we will begin finding a miner program to put onto the board.
Progress Report #5: Week 8
There was a minor setback because of malware that appeared on the main laptop we were using.
3 miner programs that Reeza and Parry have found to try out on the Zedboard are 2 python and 1 java program. After fixing the computer this weekend of the 25th, we plan on trying to put the programs on the Zedboard and start the testing and comparing the different performance statistics.
Gabe has completed work with the Spartan-6 FPGA in order to move on to development and research on the Zedboard, in the hopes of achieving far greater performance and results than is possible on the FPGA. Studies on GPU mining continues, still yielding significantly prodigious results. Power usage of the GPU (and the rest of the computer in which it is placed) is still a major setback for practical GPU Bitcoin mining. The Zedboard, able to function independently of a computer system, could provide a much higher hashing rate to power consumption (Megahashes/second to Watts) than GPU mining or using a dependent FPGA such as the Spartan-6.
Studies on CPU Bitcoin mining are also commencing. With a 6-core processor, lots of multithreaded hashing is possible, especially since generating SHA256 hashes involves many mathematical operations that can be easily parallelized across multiple cores. Overload and strain that could damage the CPU, which is cause for concern. Power consumption of the CPU (as well as the rest of the computer) is also a major deficit of CPU mining.
3 miner programs that Reeza and Parry have found to try out on the Zedboard are 2 python and 1 java program. After fixing the computer this weekend of the 25th, we plan on trying to put the programs on the Zedboard and start the testing and comparing the different performance statistics.
Gabe has completed work with the Spartan-6 FPGA in order to move on to development and research on the Zedboard, in the hopes of achieving far greater performance and results than is possible on the FPGA. Studies on GPU mining continues, still yielding significantly prodigious results. Power usage of the GPU (and the rest of the computer in which it is placed) is still a major setback for practical GPU Bitcoin mining. The Zedboard, able to function independently of a computer system, could provide a much higher hashing rate to power consumption (Megahashes/second to Watts) than GPU mining or using a dependent FPGA such as the Spartan-6.
Studies on CPU Bitcoin mining are also commencing. With a 6-core processor, lots of multithreaded hashing is possible, especially since generating SHA256 hashes involves many mathematical operations that can be easily parallelized across multiple cores. Overload and strain that could damage the CPU, which is cause for concern. Power consumption of the CPU (as well as the rest of the computer) is also a major deficit of CPU mining.
Progress Report #6: Week 9
Parry and Reeza have attempted to put a python program onto the ZedBoard. However, we have run into file permission problems. This has essentially halted all progress in regards to bitcoin mining. After running into this dead end, we decided to put a bitcoin wallet onto the arm processor. However, again, we found another issue. There are no mainstream applications made for the arm processor. This mean that when downloading the PPA for the Precise distribution, there were only repositories for x86 and x64 processors.
A possible solution is to put a bitcoin server emulator onto the ZedBoard in order to have a wallet on the board.
This weekend Parry and Reeza will be setting up the emulator and running a mining program on the ZedBoard.
A possible solution is to put a bitcoin server emulator onto the ZedBoard in order to have a wallet on the board.
This weekend Parry and Reeza will be setting up the emulator and running a mining program on the ZedBoard.